I think in the API below,
public Mono touch(final String id, final Duration expiry, final TouchOptions options)
Duration expiry should be moved inside TouchOptions so that you can support both Instant and Duration based variations. The same applies to the getAndTouch APIs as well. Follows the UpsertOptions pattern.
I was wondering how to touch a document for 3 months without pain.