> Also even if ‘indirect’ could always be inferred, it seems like a good idea to give the user control over where the indirection occurs — this can have an effect on the size of the enum value for instance. +1. Requiring it to be specified also prevents unintentional indirection.