reverse-operator functions have completely different behaviour
for non-commutative operators when the rhs is not also a
the obvious one is shift:
Signal << PartitionedSignal
is not the same as:
PartitionedSignal << Signal
yet they both (obviously) return a PartitionedSignal.
__rsub__ is also non-commutative and needs to behave very differently.
there may be others, the full list to be evaluated and added here: