allow dead code since this is a library file
encode types for the stlc
use bare ints instead of newtype. This is just to be consistent with STLC, which I'm lazily approaching the same way. Probably I would want to use a newtype for a more robust implementation, but after all, it's just an int used as an aribtrary distinguishable symbol
added enum for expr