preserver :: Player Dilemma
preserver = "Preserver" :::
    randomly `atFirstThen`
    do me <- my score
       he <- his score
       if me > he then return D else randomly


--
-- * Experiments
--

-- | Run a tournament similar to Robert Axelrod's famous study.
preserver :: Player Dilemma
preserver = "Preserver" :::
    randomly `atFirstThen`
    do me <- my score
       he <- his score
       if me > he then return D else randomly


--
-- * Experiments
--

-- | Run a tournament similar to Robert Axelrod's famous study.
preserver = "Preserver" :::
    randomly `atFirstThen`
    do me <- my score
       he <- his score
       if me > he then return D else randomly


--
-- * Experiments
--

-- | Run a tournament similar to Robert Axelrod's famous study.