Statement.EnumDeclaration
module DefaultedMember: { ... };
module InitializedMember: { ... };
module BooleanBody: { ... };
module NumberBody: { ... };
module StringBody: { ... };
module SymbolBody: { ... };
and body('M) = ('M, body'('M));
and body'('M) =
| BooleanBody(BooleanBody.t('M))
| NumberBody(NumberBody.t('M))
| StringBody(StringBody.t('M))
| SymbolBody(SymbolBody.t('M))
;