The spacing we emit is inconsistent with the F# style guide https://docs.microsoft.com/en-us/dotnet/fsharp/style-guide/formatting#type-annotations
- Don't put a space before a colon, e.g. in
val x: int.
- Do put a space between parameter name and type , e.g.
val f: arg1: int -> arg2: int -> int
Exceptions for visual clarity are
- Put space after
> for let v<'T> : int
- Put space when annotating the return type of a function/method,
let f x : int = 1
- Put space after
) e.g. let (+) : int -> int -> int
- Put space for after a
` backtick, e.g. let ``a thing`` : int = 1
Fixing this unfortunately involves updating hundreds of test cases, but hey