If I do not add it I get an error when building, because in the constructor of TEnumConstant we add it to it's TEnum: type->AddConstant() and the forward declaration is not enough. Or should it be?