Module Flow_ast.Expression
type t('M, 'T) = ('T, t'('M, 'T));
and t'('M, 'T) =
| Array(Array.t('M, 'T))
| ArrowFunction(Function.t('M, 'T))
| Assignment(Assignment.t('M, 'T))
| Binary(Binary.t('M, 'T))
| Call(Call.t('M, 'T))
| Class(Class.t('M, 'T))
| Comprehension(Comprehension.t('M, 'T))
| Conditional(Conditional.t('M, 'T))
| Function(Function.t('M, 'T))
| Generator(Generator.t('M, 'T))
| Identifier(Identifier.t('M, 'T))
| Import(Import.t('M, 'T))
| JSXElement(JSX.element('M, 'T))
| JSXFragment(JSX.fragment('M, 'T))
| Literal(Literal.t('M))
| Logical(Logical.t('M, 'T))
| Member(Member.t('M, 'T))
| MetaProperty(MetaProperty.t('M))
| New(New.t('M, 'T))
| Object(Object.t('M, 'T))
| OptionalCall(OptionalCall.t('M, 'T))
| OptionalMember(OptionalMember.t('M, 'T))
| Sequence(Sequence.t('M, 'T))
| Super(Super.t('M))
| TaggedTemplate(TaggedTemplate.t('M, 'T))
| TemplateLiteral(TemplateLiteral.t('M, 'T))
| This(This.t('M))
| TypeCast(TypeCast.t('M, 'T))
| Unary(Unary.t('M, 'T))
| Update(Update.t('M, 'T))
| Yield(Yield.t('M, 'T))
;