why would you overload already existing operators in Sepples instead of inventing your own symbol or keyword to avoid confusion with non-overloaded standard operators?
Doing it wrong. You need at least five policy classes, 2 non-class template specializations and the function should be marked:
virtual void hax(Anus***& anus) const __attribute_((deprecated))