sig
  val push : 'a -> 'a Cf_deque.t -> 'a Cf_deque.t
  val pop : 'a Cf_deque.t -> ('a * 'a Cf_deque.t) option
  val head : 'a Cf_deque.t -> 'a
  val tail : 'a Cf_deque.t -> 'a Cf_deque.t
  val fold : ('a -> 'b -> 'a) -> 'a -> 'b Cf_deque.t -> 'a
  val of_list : 'a list -> 'a Cf_deque.t
  val of_seq : 'a Cf_seq.t -> 'a Cf_deque.t
  val to_list : 'a Cf_deque.t -> 'a list
  val to_seq : 'a Cf_deque.t -> 'a Cf_seq.t
  val to_seq2 : 'a Cf_deque.t -> ('a * 'a Cf_deque.t) Cf_seq.t
end