(Partial) clean up, nicer Typechecker and Unifier. Introduced annotations.