continue truly awful hack which, in SimdSignal.__Assign__, detects the
back-link to the submodule (PartitionedCat) in its return result,
and calls set_lhs_mode(True) or (False) on LHS and RHS as appropriate.
the default value is *NOT* set in the PartitionedCat constructor very very
deliberately so as to show up any bugs. it is particularly fortunate that
this was chosen to be done because there was, in fact, a bug in the
TestCatMod unit test, which assumed that it was ok to splat a Cat() result
of a pair of SimdSignals directly onto a Signal().
it *is* in fact "technically allowed" by nmigen due to automatic casting
of UserValue, but should not strictly have been done.