I am happy to revert to the previous behaviour by default.  (New revision coming.)  However, I need to be able to inhibit -R flag to zfs send.  We have a different working definition of safe here, I think. While I will happily accept that the optimize_recursivize function is careful only to produce a send_recursive when it will succeed, that is not my main concern.  A side-effect of zfs send -R is that any snapshots or child filesystems which have been destroyed on the source host will be destroyed on the replica destination too.  I can't risk this in a backup script.  By avoiding use of zfs send -R, I never destroy destination snapshots and filesystems from the sending side.  Instead, I prefer to destroy them on the destination side.  I will add a note to the README expanding on this point.  New revision coming (with default behaviour as per your previous versions).  Hope that's OK.

cheers,
Simon