Because let x: y is syntactically unambiguous, but you need to know that y names a type in order to correctly parse yx. (Or at least that’s the case in C where a(b) may be a variable declaration or a function call depending on what typedefs are in scope.)
Because
let x: y
is syntactically unambiguous, but you need to know thaty
names a type in order to correctly parsey x
. (Or at least that’s the case in C wherea(b)
may be a variable declaration or a function call depending on what typedefs are in scope.)