Module Statement.EnumDeclaration

module DefaultedMember: { ... };
module InitializedMember: { ... };
module BooleanBody: { ... };
module NumberBody: { ... };
module StringBody: { ... };
module SymbolBody: { ... };
module BigIntBody: { ... };
type t('M, 'T) = {
  1. id: Identifier.t('M, 'T),
  2. body: body('M),
  3. comments: option(Syntax.t('M, unit)),
};
and body('M) = ('M, body'('M));
and body'('M) =
  1. | BooleanBody(BooleanBody.t('M))
  2. | NumberBody(NumberBody.t('M))
  3. | StringBody(StringBody.t('M))
  4. | SymbolBody(SymbolBody.t('M))
  5. | BigIntBody(BigIntBody.t('M))
;
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_body: (Format.formatter => 'M => unit) => Format.formatter => body('M) => unit;
let show_body: (Format.formatter => 'M => unit) => body('M) => string;
let pp_body': (Format.formatter => 'M => unit) => Format.formatter => body'('M) => unit;
let show_body': (Format.formatter => 'M => unit) => body'('M) => string;