accessor

A library that makes it nicer to work with nested functional data structures
IN THIS PACKAGE
Parameter #1 Accessor . Nonempty_getter . Make_access . T
type ('a, 'b) t
val nonempty_getter : ( 'at -> 'a Nonempty_getter.t ) -> ( 'a, 'b ) t -> ( 'at, 'bt ) t

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

nonempty_getter Nonempty_getter.return = Fn.id
Fn.compose (nonempty_getter f) (nonempty_getter g)
=
nonempty_getter (fun at -> Nonempty_getter.bind (f at) ~f:g)