JSX.Attribute
type t('M, 'T) = ('M, t'('M, 'T));
and name('M, 'T) =
| Identifier(Identifier.t('M, 'T))
| NamespacedName(NamespacedName.t('M, 'T))
;
and value('M, 'T) =
| StringLiteral(('T, StringLiteral.t('M)))
| ExpressionContainer(('T, ExpressionContainer.t('M, 'T)))
and t'('M, 'T) = {
name: name('M, 'T),
value: option(value('M, 'T)),
};