Error Handling

Suppose all the procedures were written and we tried to evaluate:
     (play-with-turns (make-game-state 5 8) 'humman)
Q: What would happen?

A: If all cond tests fail, the behavior is unspecified.

play-with-turns should do error handling:

(define play-with-turns
  (lambda (game-state player)
    (cond 
      ((over? game-state) (announce-winner player))
      ((equal? player 'human) 
       (play-with-turns (human-move game-state) 'computer))
      ((equal? player 'computer) 
       (play-with-turns (computer-move game-state) 'human))
      (else (error "player wasn't human or computer:" player)))))