sig
  type k
  type 'a t
  val empty : 'Finite_map.Dmap.t
  val set_default : 'Finite_map.Dmap.t -> 'a option -> 'Finite_map.Dmap.t
  val insert :
    'Finite_map.Dmap.t -> Finite_map.Dmap.k * '-> 'Finite_map.Dmap.t
  val insert_opt :
    'Finite_map.Dmap.t ->
    Finite_map.Dmap.k option * '-> 'Finite_map.Dmap.t
  val apply : 'Finite_map.Dmap.t -> Finite_map.Dmap.k -> 'a option
  val apply_opt :
    'Finite_map.Dmap.t -> Finite_map.Dmap.k option -> 'a option
  val remove :
    'Finite_map.Dmap.t -> Finite_map.Dmap.k -> 'Finite_map.Dmap.t
  val in_dom : Finite_map.Dmap.k -> 'Finite_map.Dmap.t -> bool
end