Quit by ending looping instead of throwing error
New field in RState: done :: Bool. Each time
through the play function, check for done. Return ()
instead of loop when done==True.