In OCaml, function application syntax has the function first and argument second:
f 123
But for functions at the type-level, it's written in the opposite order:
let x : int option = None
If option
is thought of a function at the type-level, then why is it not written like this?
option int
Is there a technical or perhaps historical reason?