type BaseTurnChoice { TurnChoiceKind Kind { get const; }; const Pokemon@ User { get const; }; MoveTurnChoice@ opCast(); SwitchTurnChoice@ opCast(); FleeTurnChoice@ opCast(); }