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

data PlayerSet a

data PlayerSetError a

toPlayers

toPlayerSet