Optic.Prism
val extract : ( 'a, 'b ) prism -> 'a -> 'b option
val make : ( 'a, 'b ) prism -> 'b -> 'a
val map : ( 'a, 'b ) prism -> ( 'b -> 'b ) -> 'a -> 'a
val id : ( 'a, 'a ) prism
val satisfy : ( 'a -> bool ) -> ( 'a, 'a ) prism
val is : 'a -> ( 'a, 'a ) prism
val none : ( 'a option, unit ) prism
val some : ( 'a option, 'a ) prism
val nil : ( 'a list, unit ) prism
val cons : ( 'a list, 'a * 'a list ) prism