code: func HandleIO(s io.ReadWriteCloser, handler RequestHandler) error {
  	defer func() { must(s.Close()) }()
  	var err error
  	for err == nil {
  		err = HandleMessage(s, s, handler)
  	}
  	return err
  }
docs: // Handle until the handler returns a fatal message or a read or write
  // on the socket fails.