No algebraic data types leads to having to add an additional discriminating union type key.
Besides that, no type signatures without parameters and other things just produce a lot more code than you'd have in a nicer type system.
Besides that, no type signatures without parameters and other things just produce a lot more code than you'd have in a nicer type system.
Furthermore, where possible (variable assignment, function returns) types are inferred, and do not need to be specified at all, leaving you with mostly plain JS syntax.