Flow_ast.MatchPatternmodule UnaryPattern: { ... };module MemberPattern: { ... };module BindingPattern: { ... };module RestPattern: { ... };module ObjectPattern: { ... };module ArrayPattern: { ... };module OrPattern: { ... };module AsPattern: { ... };module WildcardPattern: { ... };type t('M, 'T) = ('M, t'('M, 'T));and t'('M, 'T) = | WildcardPattern(WildcardPattern.t('M))| NumberPattern(NumberLiteral.t('M))| BigIntPattern(BigIntLiteral.t('M))| StringPattern(StringLiteral.t('M))| BooleanPattern(BooleanLiteral.t('M))| NullPattern(option(Syntax.t('M, unit)))| UnaryPattern(UnaryPattern.t('M))| BindingPattern(BindingPattern.t('M, 'T))| IdentifierPattern(Identifier.t('M, 'T))| MemberPattern(MemberPattern.t('M, 'T))| ObjectPattern(ObjectPattern.t('M, 'T))| ArrayPattern(ArrayPattern.t('M, 'T))| OrPattern(OrPattern.t('M, 'T))| AsPattern(AsPattern.t('M, 'T));let pp:
(Format.formatter => 'M => unit) =>
(Format.formatter => 'T => unit) =>
Format.formatter =>
t('M, 'T) =>
unit;let show:
(Format.formatter => 'M => unit) =>
(Format.formatter => 'T => unit) =>
t('M, 'T) =>
string;let pp_t':
(Format.formatter => 'M => unit) =>
(Format.formatter => 'T => unit) =>
Format.formatter =>
t'('M, 'T) =>
unit;let show_t':
(Format.formatter => 'M => unit) =>
(Format.formatter => 'T => unit) =>
t'('M, 'T) =>
string;