sig   val ( |> ) : '-> ('-> 'b) -> 'b   val compose : ('-> 'b) -> ('-> 'c) -> '-> 'c   val compose_binop : ('-> 'b) -> ('-> '-> 'c) -> '-> '-> 'c   val ( %> ) : ('-> 'b) -> ('-> 'c) -> '-> 'c   val ( @@ ) : ('-> 'b) -> '-> 'b   val id : '-> 'a   val const : '-> '-> 'a   val flip : ('-> '-> 'c) -> '-> '-> 'c   val curry : ('a * '-> 'c) -> '-> '-> 'c   val uncurry : ('-> '-> 'c) -> 'a * '-> 'c   val tap : ('-> 'b) -> '-> 'a   val ( % ) : ('-> 'c) -> ('-> 'b) -> '-> 'c   val lexicographic :     ('-> '-> int) -> ('-> '-> int) -> '-> '-> int   val finally : h:(unit -> 'b) -> f:(unit -> 'a) -> 'a   val finally1 : h:(unit -> 'c) -> ('-> 'b) -> '-> 'b   val finally2 : h:(unit -> 'd) -> ('-> '-> 'c) -> '-> '-> 'c   val opaque_identity : '-> 'a   module Monad :     functor (X : sig type t end->       sig         type 'a t = X.t -> 'a         val return : '-> 'CCFun.Monad.t         val ( >|= ) : 'CCFun.Monad.t -> ('-> 'b) -> 'CCFun.Monad.t         val ( >>= ) :           'CCFun.Monad.t -> ('-> 'CCFun.Monad.t) -> 'CCFun.Monad.t       end end