Simplification of unification and typechecking
Typed Unifcation
Removing Data.Proxy - it could be borrowed from the standard library
Removing the unnecessary type singleton for abstraction in the GADT representaions
Partially cleaning the conversions modules
Removing the unnecessary singleton in the Herbrand expressions
cleaning the type conversions further
Using a shared definition of instances of Herbrand types
Completing Implementation of HOAS representations