sig
  val mk :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    Ast_404.Parsetree.module_type_desc -> Ast_404.Parsetree.module_type
  val attr :
    Ast_404.Parsetree.module_type ->
    Ast_404.Parsetree.attribute -> Ast_404.Parsetree.module_type
  val ident :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    Ast_404.??.lid -> Ast_404.Parsetree.module_type
  val alias :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    Ast_404.??.lid -> Ast_404.Parsetree.module_type
  val signature :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    Ast_404.Parsetree.signature -> Ast_404.Parsetree.module_type
  val functor_ :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    Ast_404.??.str ->
    Ast_404.Parsetree.module_type option ->
    Ast_404.Parsetree.module_type -> Ast_404.Parsetree.module_type
  val with_ :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    Ast_404.Parsetree.module_type ->
    Ast_404.Parsetree.with_constraint list -> Ast_404.Parsetree.module_type
  val typeof_ :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    Ast_404.Parsetree.module_expr -> Ast_404.Parsetree.module_type
  val extension :
    ?loc:Ast_404.??.loc ->
    ?attrs:Ast_404.??.attrs ->
    Ast_404.Parsetree.extension -> Ast_404.Parsetree.module_type
end