Traversing @ will recurse forever if there's a cycle. It would be more consistent to use owned trees as the building block for everything, and avoid just having a special case for Clone. There shouldn't be a default Ord/TotalOrd for @t at all imo, just Eq/TotalEq for identity comparison or no default impl.
A different form of equality is still easy to implement, you just wouldn't be able to derive deep equality and shoot yourself in the foot as easily.