sig
  val mk :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    ?docs:Ast_404.Docstrings.docs ->
    ?text:Ast_404.Docstrings.text ->
    ?params:(Ast_404.Parsetree.core_type * Ast_404.Asttypes.variance) list ->
    ?cstrs:(Ast_404.Parsetree.core_type * Ast_404.Parsetree.core_type *
            Ast_404.??.loc)
           list ->
    ?kind:Ast_404.Parsetree.type_kind ->
    ?priv:Ast_404.Asttypes.private_flag ->
    ?manifest:Ast_404.Parsetree.core_type ->
    Ast_404.??.str -> Ast_404.Parsetree.type_declaration
  val constructor :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    ?info:Ast_404.Docstrings.info ->
    ?args:Ast_404.Parsetree.constructor_arguments ->
    ?res:Ast_404.Parsetree.core_type ->
    Ast_404.??.str -> Ast_404.Parsetree.constructor_declaration
  val field :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    ?info:Ast_404.Docstrings.info ->
    ?mut:Ast_404.Asttypes.mutable_flag ->
    Ast_404.??.str ->
    Ast_404.Parsetree.core_type -> Ast_404.Parsetree.label_declaration
end