- resolves#1
- define-type-constructor accepts arbitrary extra "info" that is stored
with the type
- get-extra-info extras this info
- define type stores extra info that is essentially a mu type
containing all variant info
- match must manually "unfold" this info, ie iso-recursive
- all tests passing
- mlish tests implements full nqueens example
- no explicit instantiation of polymorphic functions
- some polymorphic constructors require annotations when no inference possible
- a lone nil with no other information
- lambda params require annotations
- top lvl fns require full signature