wip typechecker