Language Design: Use 'ident: Type' not 'Type ident'
This feels a little nitpicky&#x2F;idealistic, I don&#x27;t think the post does a good job of conveying why it&#x27;s more beneficial.<p>&gt; This means that the vertical offset of names stays consistent, regardless of whether a type annotation is present (and how long it is) or not.<p>Why is this necessarily desirable? Strong typing systems have very expressive types, to the point where if something is typed correctly, most of the time my property names are just an alternative casing of the type. Types can be just as expressive or even more expressive than variable names.<p>&gt; The i: Int syntax naturally leads to a method syntax where the inputs (parameters) are defined before the output (result type), which in turn leads to more consistency with lambda syntax (whose inputs are also defined before its output).<p>Maybe this is nice in theory? But `Int` really isn&#x27;t an output here, and the value being assigned isn&#x27;t either. Rather this seems more like `f(i, Int, value) -&gt; assignment`. It seems just as arguable that `f(Int, i, value) -&gt; assignment` is appropriate.<p>It seems like some of these are rooted in a &quot;pure mathematical&quot; approach which I can surely appreciate, but ultimately lambda calculus is as much a language as any other programming language, saying &quot;lambda syntax does it this way&quot; doesn&#x27;t convince me very much.