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