Move the client's pair of channels away from a client state field
Rename MonadAction to MonadServerChan
Rename ClientDict and ClientChan
Enable saving game again
Split client commands into three types
Sort out the channel operations
Harden the typing of client command semantics
Move stating that a command takes time from client to server
Hide most channel operations
Repair save/restore/reset
Make queries over channels type-safe with GADTs