Optional.Make_access
T : sig ... end
val access : ('i -> 'a -> 'b, 'it -> 'at -> 'bt, [> Subtyping.optional ]) accessor -> ('i Index.t * 'a, 'b) T.t -> ('it Index.t * 'at, 'bt) T.t