Worked a LOT on the type system.