do (reduce (union)) to handle sets of first and rest.
after lots of debugging, finally have something that passes all current unification-with-sets tests.