I'm experimenting with elm-to-js as well (I guess you already know from twitter). I'm yet to switch to your union-types though:)
One thing that could be nice, taken that you/we are going down a functional rabbit hole, is to use fantasy land data types. Future could be nice for the ZipCodes example in particular (and really close to what is happening in the elm code). Using Future we can do it like here
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4