sig
  val ( >|= ) : 'a CCList.t -> ('a -> 'b) -> 'b CCList.t
  val ( @ ) : 'a CCList.t -> 'a CCList.t -> 'a CCList.t
  val ( <*> ) : ('a -> 'b) CCList.t -> 'a CCList.t -> 'b CCList.t
  val ( <$> ) : ('a -> 'b) -> 'a CCList.t -> 'b CCList.t
  val ( >>= ) : 'a CCList.t -> ('a -> 'b CCList.t) -> 'b CCList.t
  val ( -- ) : int -> int -> int CCList.t
  val ( --^ ) : int -> int -> int CCList.t
end