sig
  val ( >|= ) : 'CCOpt.t -> ('-> 'b) -> 'CCOpt.t
  val ( >>= ) : 'CCOpt.t -> ('-> 'CCOpt.t) -> 'CCOpt.t
  val ( <*> ) : ('-> 'b) CCOpt.t -> 'CCOpt.t -> 'CCOpt.t
  val ( <$> ) : ('-> 'b) -> 'CCOpt.t -> 'CCOpt.t
  val ( <+> ) : 'CCOpt.t -> 'CCOpt.t -> 'CCOpt.t
end