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