Working on unification
Fix type algebra, printing and parsing