Finished initial typechecker