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