had a breakthrough with Function unification