Patternsig.LANGtype tag = | Ttuple of int| Tconst of Deftypes.immediate| Tconstr of string * int * (string * int) list| Trecord of string listval pdescs : Zelus.pattern list -> Zelus.pdesc listval arity : tag -> intval extract_tags : tag list -> string listval is_complete : tag list -> booltype pattern_ast = Zelus.patternval inject : Zelus.pattern -> tag Matching.patternval eject : tag Matching.pattern -> Zelus.pattern