What I mean is these are two different things:
call foo: Int32
call foo : Int32
The first one is calling
foo as a named argument with the value
Int32 (a class type).
The second one is calling
call with a single argument being a type declaration
foo : Int32, which is usually (only) used in macros. One such example is
property foo : Int32
That’s the difference. And because
foo : Int32 means “foo with a type Int32” but
foo: Int32 means "an argument foo with a value of Int32` and in method declarations you want to specify a type, not a value, the former syntax is used in method declarations.
If you have proposals to improve this situation I’m all open to them!