Haverer
data Game playerId
makeGame
newRound
newRound'
players
roundsPlayed
finalScores
scores
winners
data Round playerId
data BadAction playerId
data Result playerId
data Event playerId
playTurn
playTurn'
getPlayers
getPlayerMap
currentPlayer
currentTurn
data Card
data Deck a
data DeckSize
type FullDeck
newDeck
data Play target
viewAction
data Player
getDiscards
getHand
isProtected
toPlayers
toPlayerSet