Module Out_type

val wrap_printing_env : error:bool -> Env.t -> (unit -> 'a) -> 'a
val with_labels : bool -> (unit -> 'a) -> 'a
val tree_of_path : ?disambiguation:bool -> Path.t -> Outcometree.out_ident
val namespaced_tree_of_path : Shape.Sig_component_kind.t -> Path.t -> Outcometree.out_ident
val tree_of_type_path : Path.t -> Outcometree.out_ident
val same_path : Types.type_expr -> Types.type_expr -> bool
val rewrite_double_underscore_paths : Env.t -> Path.t -> Path.t
val prepare_for_printing : Types.type_expr list -> unit
val add_type_to_preparation : Types.type_expr -> unit
type type_or_scheme =
  1. | Type
  2. | Type_scheme
val prepared_type_scheme : Types.type_expr Format_doc.printer
val prepared_type_expr : Types.type_expr Format_doc.printer
val type_expr_with_reserved_names : Types.type_expr Format_doc.printer
type !'a diff =
  1. | Same of 'a
  2. | Diff of 'a * 'a
val hide_variant_name : Types.type_expr -> Types.type_expr
val prepare_type_constructor_arguments : Types.constructor_arguments -> unit
val tree_of_constructor_arguments : Types.constructor_arguments -> Outcometree.out_type list
val add_constructor_to_preparation : Types.constructor_declaration -> unit
val extension_constructor_args_and_ret_type_subtree : Types.constructor_arguments -> Types.type_expr option -> Outcometree.out_type list * Outcometree.out_type option
val add_extension_constructor_to_preparation : Types.extension_constructor -> unit
val prepared_extension_constructor : Ident.t -> Types.extension_constructor Format_doc.printer
val add_type_declaration_to_preparation : Ident.t -> Types.type_declaration -> unit
val prepared_type_declaration : Ident.t -> Types.type_declaration Format_doc.printer
val tree_of_value_description : Ident.t -> Types.value_description -> Outcometree.out_sig_item
val tree_of_modtype_declaration : Ident.t -> Types.modtype_declaration -> Outcometree.out_sig_item
val tree_of_module : Ident.t -> ?ellipsis:bool -> Types.module_type -> Types.rec_status -> Outcometree.out_sig_item
val tree_of_signature : Types.signature -> Outcometree.out_sig_item list
val prepare_class_type : Types.class_type -> unit
val print_items : (Env.t -> Types.signature_item -> 'a option) -> Env.t -> Types.signature_item list -> (Outcometree.out_sig_item * 'a option) list
module Out_name : sig ... end
module Ident_names : sig ... end
module Ident_conflicts : sig ... end
module Variable_names : sig ... end
module Internal_names : sig ... end
val reset : unit -> unit
val reset_except_conflicts : unit -> unit