sig
  type ('a, 'b) t = ('a * 'b) list
  val get :
    ?eq:('-> '-> bool) -> ('a, 'b) CCList.Assoc.t -> '-> 'b option
  val get_exn : ?eq:('-> '-> bool) -> ('a, 'b) CCList.Assoc.t -> '-> 'b
  val set :
    ?eq:('-> '-> bool) ->
    ('a, 'b) CCList.Assoc.t -> '-> '-> ('a, 'b) CCList.Assoc.t
  val mem : ?eq:('-> '-> bool) -> ('a, 'b) CCList.Assoc.t -> '-> bool
  val update :
    ?eq:('-> '-> bool) ->
    ('a, 'b) CCList.Assoc.t ->
    '-> f:('b option -> 'b option) -> ('a, 'b) CCList.Assoc.t
  val remove :
    ?eq:('-> '-> bool) ->
    ('a, 'b) CCList.Assoc.t -> '-> ('a, 'b) CCList.Assoc.t
end