weird unification problem