- Fix variable polymorphism by addding missing generalization step
- Add method for `util.inspect` to make pretty-printing easier
- Remove WrappedOperator and replace it with NamedPattern
- Add more tests
- Make struct-declarations type-check
- Split environment into type bindings and variable bindings
- Fix kind inference adding the wrong element to the env