thread a type env through code, not using yet
missing fixes
checkpoint before trying something
conversion to monadic style (all internal tests passing)
all tests except is-inference and polymorphism - temporarily disabled new type-env checks
fix is-inference not working bug
add type boundness checks, note that this diff is abnormally large because of identation
simple polymorphism