WIP on typechecker refactor