Parameter Make_access.1-T

type ('a, 'b) t
val nonempty : ('at -> ('bt'a'b) Accessor.Nonempty.t) -> ('a'b) t -> ('at'bt) t

A legal implementation of this function must satisfy the following properties:

nonempty Nonempty.Accessed.return = Fn.id
Fn.compose (nonempty f) (nonempty g)
= nonempty (fun at -> Nonempty.Accessed.bind (f at) ~f:g)