Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
type loc = Lexing.position * Lexing.position
type annot = annot_section list
and annot_section = string * (loc * annot_field list)
and annot_field = string * (loc * string option)
type full_module = module_head * module_body
and module_body = module_item list
and type_def = loc * (string * type_param * annot) * type_expr
val string_of_loc : loc -> string
val error_at : loc -> string -> 'a
val dummy_loc : loc
val map_all_annot : (annot -> annot) -> full_module -> full_module
val extract_type_names : ?ignorable:string list -> type_expr -> string list
val is_parametrized : type_expr -> bool