Revert "visitedCheck -> refToRep" and "unifyRecurse does visited check on both refs"

This reverts commit 0b1cf824db34e86b0de8d6888d445e8c1fd18350.
This reverts commit eac1c86dce6565dfbf6a1157ce3dd12b9066c211.
Control.Monad.Trans.Decycle
Infer.Unify: Use DecycleT towards splitting phases
Infer.Unify: split phases