shared interface SwitchTurnChoice {
TurnChoiceKind Kind { get const; }
Pokemon@ User { get const; }
Pokemon@ NewPokemon { get const; }
MoveTurnChoice@ opCast();
BaseTurnChoice@ opImplCast();
}