But why would you possibly do that? That's an enumerated type definition, so there should only be one of them globally.
The one place where I've found that sort of thing to be a problem is if for some reason one wants to extend an enumerated type e.g. as a status code associated with a subclass.
MarkMLl
If has several (not critical problems)
Examples:
tflags= (flagA,flagB,flagC,flagD,flagE);
I could copy it bad and then i have not FlagD and FlagE is bad weighted. And i couldn't ever note it if flag D is never used or deprecated... And deprecate is useful
tflags= (flagA,flagB,flagC,flagE);
Other is that one can argue than flags could be in reverse order
tflags= (flagE, flagD, flagC, flagB, flagA) like binary positions.
but if defined like this (this is valid, but must start in 0 and increased by 1, the value, really indicates their bit position)
tflags = (flagA:=0, flagB:=1, flagC:=2, flagD:=3, flagE:=4)
you can deprecate flag D
tflags =(flagA:=0, flagB:=1, flagC:=2, flagE:=4)
you can reverse order
tflags =(flagE:=4,flagD:=3,flagC:=2, flagB:=1,flagA:=0);