printTranscriptOfGame :: (GameM m g, Show (Move g)) => Int -> m ()
printTranscriptOfGame n = do
    printStrLn $ "Iteration " ++ show n ++ ":"
    (t,(_,p)) <- liftM (forGame n) history
    ps <- players
    printStr (showTranscript ps t)
    printMaybePayoff p

-- | Print transcripts of all completed games.
printTranscriptOfGame :: (GameM m g, Show (Move g)) => Int -> m ()
printTranscriptOfGame n = do
    printStrLn $ "Iteration " ++ show n ++ ":"
    (t,(_,p)) <- liftM (forGame n) history
    ps <- players
    printStr (showTranscript ps t)
    printMaybePayoff p

-- | Print transcripts of all completed games.
printTranscriptOfGame n = do
    printStrLn $ "Iteration " ++ show n ++ ":"
    (t,(_,p)) <- liftM (forGame n) history
    ps <- players
    printStr (showTranscript ps t)
    printMaybePayoff p

-- | Print transcripts of all completed games.