sig
  val find :
    ('a, 'b, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t -> 'a -> 'b option
  val modify :
    'a ->
    ('b -> 'b) ->
    ('a, 'b, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t ->
    (unit, exn) BatPervasives.result
end