Good to see the codegen benefits. With a title like that though, I’d have liked to have seen some of the implementation. I’m interested in whether the “all arguments must be numbers” message is automatically generated, and other details like whether unknown types are automatically refined, and whether (λ (x) x) has type 'a -> 'a or Any -> Any.
(λ (x) x)
'a -> 'a
Any -> Any
Note the version link in the first sentence gives me a 400.
Yeah the message is generated by the compiler. It’s basically same idea as HM inference where the compiler sees if it can definitively infer the type based on the declaration of the variable.