functor (Comp : ComparableType->
  sig
    type t = Comp.t
    val index : ListExtras.S.t -> ListExtras.S.t list -> int
    val mem : ListExtras.S.t -> ListExtras.S.t list -> bool
    val assoc : ListExtras.S.t -> (ListExtras.S.t * 'a) list -> 'a
    val mem_assoc : ListExtras.S.t -> (ListExtras.S.t * 'a) list -> bool
    val remove_assoc :
      ListExtras.S.t ->
      (ListExtras.S.t * 'a) list -> (ListExtras.S.t * 'a) list
  end