working on type system, not compiling now