Implemented concept of enumeration attributes (can be further extended, but currently only "flag" is implemented as an attribute).  An enumeration with a flag attribute will act as a "flagged enumeration", one that automatically handles exponentiation of the constants defined inside it, i.e enum : flag { A, B, C }, A,B,C will equal 2, 4, 8.