Annoying as this is (and blatantly awkward), it saves
you from having to implement twice:void opAssign(T)(auto ref const T s) if(is(T == S)) {...}
Yep, this seems awkward to me too thought according to Adam one can do :
void opAssign()(auto ref const S s) {...}