Changed approach to unification
Instead of failing immediately, maintain a list of blocked problems and
refine during elaboration.