type ('a, 'b) c = ('a -> 'b) -> 'b
val (>:) : 'a -> (('b -> 'b) -> 'c -> 'a -> 'd) -> 'c -> 'd
val map : ('a -> 'b) -> f:'a -> 'b
val fold : (('a -> 'a) -> 'c) -> init:'b -> f:('b -> 'a -> 'b) -> 'b
val iter : (('a -> 'a) -> 'b) -> f:('a -> unit) -> unit
val length : (('a -> 'a) -> 'b) -> int
val to_list : (('a -> 'a) -> 'b) -> 'a list
val (>>|) : ('a -> 'b) -> 'a -> 'b
val __ : ((('a -> 'b) -> 'a -> 'b) -> 'c) -> 'c
val list : ('a -> 'b -> 'c) -> (('a -> 'b list -> 'c list) -> 'd) -> 'd
val option : ('a -> 'b -> 'c) -> (('a -> 'b option -> 'c option) -> 'd) -> 'd
val ok : ('a -> 'b -> 'c) ->
(('a -> ('b, 'd) Core.Std.Result.t -> ('c, 'd) Core.Std.Result.t) -> 'e) ->
'e
val error : ('a -> 'b -> 'c) ->
(('a -> ('d, 'b) Core.Std.Result.t -> ('d, 'c) Core.Std.Result.t) -> 'e) ->
'e
val string : (((char -> char) -> string -> string) -> 'a) -> 'a