Statement.EnumDeclarationmodule DefaultedMember : sig ... endmodule InitializedMember : sig ... endmodule BooleanBody : sig ... endmodule NumberBody : sig ... endmodule StringBody : sig ... endmodule SymbolBody : sig ... endtype ('M, 'T) t = {id : ('M, 'T) Identifier.t;body : 'M body;comments : ('M, unit) Syntax.t option;}and 'M body = 'M * 'M body'and 'M body' = | BooleanBody of 'M BooleanBody.t| NumberBody of 'M NumberBody.t| StringBody of 'M StringBody.t| SymbolBody of 'M SymbolBody.t