sig
  val ( @+ ) : '-> 'CCRAL.t -> 'CCRAL.t
  val ( >>= ) : 'CCRAL.t -> ('-> 'CCRAL.t) -> 'CCRAL.t
  val ( >|= ) : 'CCRAL.t -> ('-> 'b) -> 'CCRAL.t
  val ( <*> ) : ('-> 'b) CCRAL.t -> 'CCRAL.t -> 'CCRAL.t
  val ( -- ) : int -> int -> int CCRAL.t
  val ( --^ ) : int -> int -> int CCRAL.t
end