type MoveTurnChoice {
TurnChoiceKind Kind { get const; };
Pokemon@ User { get const; };
LearnedMove@ Move { get const; };
int8 Priority { get const; };
BaseTurnChoice@ opImplCast();
}