sig   type +'a t   val empty : 'CCRAL.t   val is_empty : 'CCRAL.t -> bool   val cons : '-> 'CCRAL.t -> 'CCRAL.t   val return : '-> 'CCRAL.t   val map : f:('-> 'b) -> 'CCRAL.t -> 'CCRAL.t   val mapi : f:(int -> '-> 'b) -> 'CCRAL.t -> 'CCRAL.t   val hd : 'CCRAL.t -> 'a   val tl : 'CCRAL.t -> 'CCRAL.t   val front : 'CCRAL.t -> ('a * 'CCRAL.t) option   val front_exn : 'CCRAL.t -> 'a * 'CCRAL.t   val length : 'CCRAL.t -> int   val get : 'CCRAL.t -> int -> 'a option   val get_exn : 'CCRAL.t -> int -> 'a   val set : 'CCRAL.t -> int -> '-> 'CCRAL.t   val remove : 'CCRAL.t -> int -> 'CCRAL.t   val append : 'CCRAL.t -> 'CCRAL.t -> 'CCRAL.t   val filter : f:('-> bool) -> 'CCRAL.t -> 'CCRAL.t   val filter_map : f:('-> 'b option) -> 'CCRAL.t -> 'CCRAL.t   val flat_map : ('-> 'CCRAL.t) -> 'CCRAL.t -> 'CCRAL.t   val flatten : 'CCRAL.t CCRAL.t -> 'CCRAL.t   val app : ('-> 'b) CCRAL.t -> 'CCRAL.t -> 'CCRAL.t   val take : int -> 'CCRAL.t -> 'CCRAL.t   val take_while : f:('-> bool) -> 'CCRAL.t -> 'CCRAL.t   val drop : int -> 'CCRAL.t -> 'CCRAL.t   val drop_while : f:('-> bool) -> 'CCRAL.t -> 'CCRAL.t   val take_drop : int -> 'CCRAL.t -> 'CCRAL.t * 'CCRAL.t   val iter : f:('-> unit) -> 'CCRAL.t -> unit   val iteri : f:(int -> '-> unit) -> 'CCRAL.t -> unit   val fold : f:('-> '-> 'b) -> x:'-> 'CCRAL.t -> 'b   val fold_rev : f:('-> '-> 'b) -> x:'-> 'CCRAL.t -> 'b   val rev_map : f:('-> 'b) -> 'CCRAL.t -> 'CCRAL.t   val rev : 'CCRAL.t -> 'CCRAL.t   val equal : ?eq:('-> '-> bool) -> 'CCRAL.t -> 'CCRAL.t -> bool   val compare : ?cmp:('-> '-> int) -> 'CCRAL.t -> 'CCRAL.t -> int   val make : int -> '-> 'CCRAL.t   val repeat : int -> 'CCRAL.t -> 'CCRAL.t   val range : int -> int -> int CCRAL.t   type 'a sequence = ('-> unit) -> unit   type 'a gen = unit -> 'a option   val add_list : 'CCRAL.t -> 'a list -> 'CCRAL.t   val of_list : 'a list -> 'CCRAL.t   val to_list : 'CCRAL.t -> 'a list   val of_list_map : f:('-> 'b) -> 'a list -> 'CCRAL.t   val of_array : 'a array -> 'CCRAL.t   val add_array : 'CCRAL.t -> 'a array -> 'CCRAL.t   val to_array : 'CCRAL.t -> 'a array   val add_seq : 'CCRAL.t -> 'CCRAL.sequence -> 'CCRAL.t   val of_seq : 'CCRAL.sequence -> 'CCRAL.t   val to_seq : 'CCRAL.t -> 'CCRAL.sequence   val add_gen : 'CCRAL.t -> 'CCRAL.gen -> 'CCRAL.t   val of_gen : 'CCRAL.gen -> 'CCRAL.t   val to_gen : 'CCRAL.t -> 'CCRAL.gen   module Infix :     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   val ( @+ ) : '-> 'a t -> 'a t   val ( >>= ) : 'a t -> ('-> 'b t) -> 'b t   val ( >|= ) : 'a t -> ('-> 'b) -> 'b t   val ( <*> ) : ('-> 'b) t -> 'a t -> 'b t   val ( -- ) : int -> int -> int t   val ( --^ ) : int -> int -> int t   type 'a printer = Format.formatter -> '-> unit   val print : ?sep:string -> 'CCRAL.printer -> 'CCRAL.t CCRAL.printer end