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