+-- | The 'ParttyState' contains all information that this module has obtained about the game.
+data ParttyState = ParttyState
+ { psMyName :: Player -- ^ The current player id
+ , psLoginName :: String -- ^ The loginname
+ , psDay :: Day -- ^ The current day
+ , psHistory :: [NightResult] -- ^ The results of the previous days
+ , psHintHistory :: [(Day, Player, Hint)] -- ^ All hints received by players, and when
+ , psPlace :: Place -- ^ Where we are
+ , psPlayers :: [String] -- ^ The login names of all present players
+ , psPlayersHere :: [Player] -- ^ Who is were we are
+ , psActionsLeft :: Int -- ^ How many actions are left before the callback
+ , psPartyPlace :: Maybe Place -- ^ If we know where the party is today, this is 'Just' the 'Place'
+ , psFriends :: [Player] -- ^ People we have partied with
+ }
+
+-- | The 'DayCallback' type alias refers to the argument of 'runPartty'. It is a function
+-- that takes an incoming 'DayMessage' and reacts on it, using the 'DayMonad'.