Implemented type system, started on code generation.