ClassesInstance declaration
val declare_instance : 
  ?warn:bool ->
  Environ.env ->
  Evd.evar_map ->
  Typeclasses.hint_info option ->
  Hints.hint_locality ->
  Names.GlobRef.t ->
  unitDeclares the given global reference as an instance of its type. Does nothing — or emit a “not-a-class” warning if the warn argument is set — when said type is not a registered type class.
val existing_instance : 
  ?loc:Loc.t ->
  Hints.hint_locality ->
  Names.GlobRef.t ->
  Vernacexpr.hint_info_expr option ->
  unitglobality, reference, optional priority and pattern information
val new_instance_interactive : 
  locality:Hints.hint_locality ->
  poly:bool ->
  Constrexpr.name_decl ->
  Constrexpr.local_binder_expr list ->
  Constrexpr.constr_expr ->
  ?tac:unit Proofview.tactic ->
  ?hook:( Names.GlobRef.t -> unit ) ->
  Vernacexpr.hint_info_expr ->
  (bool * Constrexpr.constr_expr) option ->
  Names.Id.t * Declare.Proof.tval new_instance : 
  locality:Hints.hint_locality ->
  poly:bool ->
  Constrexpr.name_decl ->
  Constrexpr.local_binder_expr list ->
  Constrexpr.constr_expr ->
  (bool * Constrexpr.constr_expr) ->
  ?hook:( Names.GlobRef.t -> unit ) ->
  Vernacexpr.hint_info_expr ->
  Names.Id.tval new_instance_program : 
  locality:Hints.hint_locality ->
  pm:Declare.OblState.t ->
  poly:bool ->
  Constrexpr.name_decl ->
  Constrexpr.local_binder_expr list ->
  Constrexpr.constr_expr ->
  (bool * Constrexpr.constr_expr) option ->
  ?hook:( Names.GlobRef.t -> unit ) ->
  Vernacexpr.hint_info_expr ->
  Declare.OblState.t * Names.Id.tval declare_new_instance : 
  locality:Hints.hint_locality ->
  program_mode:bool ->
  poly:bool ->
  Constrexpr.ident_decl ->
  Constrexpr.local_binder_expr list ->
  Constrexpr.constr_expr ->
  Vernacexpr.hint_info_expr ->
  unitval add_class : Typeclasses.typeclass -> unittype instance = {| class_name : Names.GlobRef.t; | 
| instance : Names.GlobRef.t; | 
| info : Typeclasses.hint_info; | 
| locality : Hints.hint_locality; | 
}module Event : sig ... endval add_observer : ( Event.t -> unit ) -> unitSetting opacity
val set_typeclass_transparency : 
  locality:Hints.hint_locality ->
  Tacred.evaluable_global_reference list ->
  bool ->
  unitval tc_transparency_locality : Hints.hint_locality Attributes.attributeval set_typeclass_transparency_com : 
  locality:Hints.hint_locality ->
  Libnames.qualid list ->
  bool ->
  unitFor generation on names based on classes only
val id_of_class : Typeclasses.typeclass -> Names.Id.tval refine_att : bool Attributes.attributeval instance_locality : Hints.hint_locality Attributes.attributemodule Internal : sig ... end