also a performance argument to be made.\\n\\nBy making all sum type constructors take at most 1 argument, we can implement it as a simple object, which means the JavaScript engine will treat pattern matches on sum types as monomorphic code and optimize it well.\\n\\n## Parametric modules\\n\\nTo me, the biggest shortcoming of Elm (besides lacking first-class support for a server/terminal environment) is that you cannot easily store any given type as the key in a `Dict` or as an item in a `Set`. These types 