New type system implementation whose unification actually works.

Still need a few more tests to prove it, but this model is a bit simpler.
Needs some more work to handle error cases and interface checking.