## TODO - [ ] implicit patterns - [ ] pair syntax - [ ] list syntax - [ ] operators - [ ] import - [ ] some solution for + (classes? ambiguity?) - [ ] surface execution failure in the editor - [ ] write js files in out - [ ] detect extra clauses - [ ] test framework - [ ] decide what to do for erasure - [ ] type at point - [ ] repl - [ ] LSP - [ ] don't match forced constructors - maybe do this in codegen if there is only one case. - [ ] magic nat (codegen as number with appropriate pattern matching) - [ ] magic tuple? (codegen as array) - [ ] magic newtype? (drop in codegen)