functor (Structure : Structure.S->
  sig
    module Tools :
      sig
        val empty_entry : string -> '-> 'b
        val stream_map : ('-> 'b) -> 'Stream.t -> 'Stream.t
        val keep_prev_loc :
          ('a * Structure.Loc.t) Stream.t ->
          ('a * Structure.token_info) Stream.t
        val drop_prev_loc :
          ('a * Structure.token_info) Stream.t ->
          ('a * Structure.Loc.t) Stream.t
        val get_cur_loc :
          ('a * Structure.token_info) Stream.t -> Structure.Loc.t
        val get_prev_loc :
          ('a * Structure.token_info) Stream.t -> Structure.Loc.t
        val is_level_labelled : string -> Structure.level -> bool
        val warning_verbose : bool ref
        val get_token_list :
          '->
          Structure.symbol list ->
          Structure.symbol ->
          Structure.tree ->
          (Structure.symbol list * Structure.symbol * Structure.tree) option
        val is_antiquot : string -> bool
        val eq_Stoken_ids : string -> string -> bool
        val logically_eq_symbols :
          Structure.internal_entry ->
          Structure.symbol -> Structure.symbol -> bool
        val eq_symbol : Structure.symbol -> Structure.symbol -> bool
      end
    module Search :
      sig
        val tree_in_entry :
          Structure.symbol ->
          Structure.tree -> Structure.desc -> Structure.tree
      end
    module Print :
      sig
        val flatten_tree : Structure.tree -> Structure.symbol list list
        val print_symbol : Format.formatter -> Structure.symbol -> unit
        val print_meta :
          Format.formatter -> string -> Structure.symbol list -> unit
        val print_symbol1 : Format.formatter -> Structure.symbol -> unit
        val print_rule : Format.formatter -> Structure.symbol list -> unit
        val print_level :
          Format.formatter ->
          (Format.formatter -> unit -> unit) ->
          Structure.symbol list list -> unit
        val levels : Format.formatter -> Structure.level list -> unit
        val entry : Format.formatter -> Structure.internal_entry -> unit
      end
    val name_of_symbol :
      Structure.internal_entry -> Structure.symbol -> string
    val name_of_symbol_failed :
      Structure.internal_entry -> Structure.symbol -> string
    val name_of_tree_failed :
      Structure.internal_entry -> Structure.tree -> string
    val magic : '-> '-> 'c
    val tree_failed :
      Structure.internal_entry ->
      '-> Structure.symbol -> Structure.tree -> string
    val symb_failed :
      Structure.internal_entry ->
      '-> Structure.symbol -> Structure.symbol -> string
    val symb_failed_txt :
      Structure.internal_entry ->
      Structure.symbol -> Structure.symbol -> string
  end