Module Tree_state.FunBiMap

include sig ... end
module M : sig ... end
module M_rev : sig ... end
val empty : 'a M.t * 'b M_rev.t
val is_empty : ('a M.t * 'b) -> bool
val cardinal : ('a M.t * 'b) -> int
val bindings : ('a M.t * 'b) -> (M.key * 'a) list
val bindings_rev : ('a * 'b M_rev.t) -> (M_rev.key * 'b) list
val remove_l : M.key -> (M_rev.key M.t * 'a M_rev.t) -> M_rev.key M.t * 'a M_rev.t
val remove_r : M_rev.key -> ('a M.t * M.key M_rev.t) -> 'a M.t * M.key M_rev.t
val mem_l : M.key -> ('a M.t * 'b) -> bool
val mem_r : M_rev.key -> ('a * 'b M_rev.t) -> bool
val find_l : M.key -> ('a M.t * 'b) -> 'a option
val find_r : M_rev.key -> ('a * 'b M_rev.t) -> 'b option
val pp : Stdlib.Format.formatter -> (Common.Fun_kind.t M.t * 'a) -> unit
val get_fn : M.key -> ('a M.t * 'b) -> 'a option
val get_loc : M_rev.key -> ('a * 'b M_rev.t) -> 'b option