Finished typechecker without testing it, fixed AST