mod3 :: Player Dilemma
mod3 = Player "Mod3 Cooperator" 0 $
  do i <- get
     put (i+1)
     return $ if i `mod` 3 == 0 then C else D
     
-- | Suspicious Tit-for-Tat.  Like Tit-for-Tat but defect on first move.
mod3 :: Player Dilemma
mod3 = Player "Mod3 Cooperator" 0 $
  do i <- get
     put (i+1)
     return $ if i `mod` 3 == 0 then C else D
     
-- | Suspicious Tit-for-Tat.  Like Tit-for-Tat but defect on first move.
mod3 = Player "Mod3 Cooperator" 0 $
  do i <- get
     put (i+1)
     return $ if i `mod` 3 == 0 then C else D
     
-- | Suspicious Tit-for-Tat.  Like Tit-for-Tat but defect on first move.