`options.lock` is obviously simpler, but if we do need to support both for update and for share that doesn't quite work out i suppose.