Registers fn as the clone factory, replacing the default clone behavior.
fn
E whenClone(E Function(E self, [C? cloner]) fn) { _whenOnCloneFn = fn; return self; }