public abstract void ApplyCommand(CardDeck deck);
public override void ApplyCommand(CardDeck deck) => deck.DealIntoNewStack();
public override void ApplyCommand(CardDeck deck) => deck.Cut(Parameter);
public override void ApplyCommand(CardDeck deck) => deck.DealWithIncrement(Parameter);
private int Part1Returner(CardDeck deck, DeckCommandArray commands) { commands.ApplyAll(deck); return(deck.PositionOfCard(2019)); }