Accessor.ManySourceAn (a, x, y) t is an applicative for defining many accessors. See the documentation of Accessor.many for more information.
A value of type (a, x, y) t can make the following claim: I can give you some number of xes and if you tell me how to replace each of them with a y, I will also give you an a.
The same as S except the monad type has three arguments. The second and third are composed across all computation.
access a "accesses" a and returns the value you are expected replace it with.
include Base.Applicative.Let_syntax3
with type ('a, 'b, 'c) t := ('a, 'b, 'c) t
with module Open_on_rhs_intf := Open_on_rhs_intfval access_many :
(Base.unit -> 'a -> 'b, Base.unit -> 'at -> 'bt, [> Subtyping.many ])
General.t ->
'at ->
('bt, 'a, 'b) tAccess everything that the given accessor accesses.