sig
  type label_map_t = (Flx_ast.bid_t, (string, int) Hashtbl.t) Hashtbl.t
  val create_label_map :
    Flx_types.fully_bound_symbol_table_t ->
    int Pervasives.ref -> Flx_label.label_map_t
  type goto_kind_t =
      [ `Local of int | `Nonlocal of int * int | `Unreachable ]
  val find_label :
    Flx_types.fully_bound_symbol_table_t ->
    Flx_label.label_map_t -> int -> string -> Flx_label.goto_kind_t
  type label_kind_t = [ `Far | `Near | `Unused ]
  type label_usage_t = (int, Flx_label.label_kind_t) Hashtbl.t
  val create_label_usage :
    Flx_mtypes2.sym_state_t ->
    Flx_types.fully_bound_symbol_table_t ->
    Flx_label.label_map_t -> Flx_label.label_usage_t
  val get_label_kind :
    Flx_label.label_map_t ->
    Flx_label.label_usage_t ->
    Flx_ast.bid_t -> string -> Flx_label.label_kind_t
  val get_label_kind_from_index :
    Flx_label.label_usage_t -> int -> Flx_label.label_kind_t
end