add support for binding type names at the repl
more typecheck fixes
bootstrapped with data typechecking