sig
  val mk :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.pattern_desc -> Ast_406.Parsetree.pattern
  val attr :
    Ast_406.Parsetree.pattern ->
    Ast_406.Parsetree.attribute -> Ast_406.Parsetree.pattern
  val any :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs -> unit -> Ast_406.Parsetree.pattern
  val var :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs -> Ast_406.??.str -> Ast_406.Parsetree.pattern
  val alias :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.pattern -> Ast_406.??.str -> Ast_406.Parsetree.pattern
  val constant :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.constant -> Ast_406.Parsetree.pattern
  val interval :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.constant ->
    Ast_406.Parsetree.constant -> Ast_406.Parsetree.pattern
  val tuple :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.pattern list -> Ast_406.Parsetree.pattern
  val construct :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.??.lid ->
    Ast_406.Parsetree.pattern option -> Ast_406.Parsetree.pattern
  val variant :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Asttypes.label ->
    Ast_406.Parsetree.pattern option -> Ast_406.Parsetree.pattern
  val record :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    (Ast_406.??.lid * Ast_406.Parsetree.pattern) list ->
    Ast_406.Asttypes.closed_flag -> Ast_406.Parsetree.pattern
  val array :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.pattern list -> Ast_406.Parsetree.pattern
  val or_ :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.pattern ->
    Ast_406.Parsetree.pattern -> Ast_406.Parsetree.pattern
  val constraint_ :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.pattern ->
    Ast_406.Parsetree.core_type -> Ast_406.Parsetree.pattern
  val type_ :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs -> Ast_406.??.lid -> Ast_406.Parsetree.pattern
  val lazy_ :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.pattern -> Ast_406.Parsetree.pattern
  val unpack :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs -> Ast_406.??.str -> Ast_406.Parsetree.pattern
  val open_ :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.??.lid -> Ast_406.Parsetree.pattern -> Ast_406.Parsetree.pattern
  val exception_ :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.pattern -> Ast_406.Parsetree.pattern
  val extension :
    ?loc:Ast_406.??.loc ->
    ?attrs:Ast_406.??.attrs ->
    Ast_406.Parsetree.extension -> Ast_406.Parsetree.pattern
end