accessor

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

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

mapper (fun a ~f -> f a) = Fn.id
Fn.compose (mapper f) (mapper g) = mapper (fun a ~f:h -> f a ~f:(g ~f:h))