Split unify into unifyUnsafe, use that internally