Flow_ast.JSXmodule Identifier: { ... };module NamespacedName: { ... };module ExpressionContainer: { ... };module Text: { ... };module Attribute: { ... };module SpreadAttribute: { ... };module MemberExpression: { ... };type name('M, 'T) = | Identifier(Identifier.t('M, 'T))| NamespacedName(NamespacedName.t('M, 'T))| MemberExpression(MemberExpression.t('M, 'T));module Opening: { ... };module Closing: { ... };module SpreadChild: { ... };type child('M, 'T) = ('M, child'('M, 'T));and child'('M, 'T) = | Element(element('M, 'T))| Fragment(fragment('M, 'T))| ExpressionContainer(ExpressionContainer.t('M, 'T))| SpreadChild(SpreadChild.t('M, 'T))| Text(Text.t);