sig
  val add : ?eq:('a -> 'a -> bool) -> 'a -> 'a CCList.t -> 'a CCList.t
  val remove : ?eq:('a -> 'a -> bool) -> 'a -> 'a CCList.t -> 'a CCList.t
  val mem : ?eq:('a -> 'a -> bool) -> 'a -> 'a CCList.t -> bool
  val subset : ?eq:('a -> 'a -> bool) -> 'a CCList.t -> 'a CCList.t -> bool
  val uniq : ?eq:('a -> 'a -> bool) -> 'a CCList.t -> 'a CCList.t
  val union :
    ?eq:('a -> 'a -> bool) -> 'a CCList.t -> 'a CCList.t -> 'a CCList.t
  val inter :
    ?eq:('a -> 'a -> bool) -> 'a CCList.t -> 'a CCList.t -> 'a CCList.t
end