recv'event'connection'ok :: Server -> MVar (Maybe Client) -> IO Server
recv'event'connection'ok serv@Server{..} mv = do
 let counter = _counter + 1
 let connections = _connections + 1
 ch <- newChan
 let client = Client { _id = counter, _ch = ch }
 let clients = M.insert counter client _clients
 putMVar mv (Just client)
 let serv' = serv { _counter = counter, _connections = connections, _clients = clients }
 return serv'
recv'event'connection'ok :: Server -> MVar (Maybe Client) -> IO Server
recv'event'connection'ok serv@Server{..} mv = do
 let counter = _counter + 1
 let connections = _connections + 1
 ch <- newChan
 let client = Client { _id = counter, _ch = ch }
 let clients = M.insert counter client _clients
 putMVar mv (Just client)
 let serv' = serv { _counter = counter, _connections = connections, _clients = clients }
 return serv'
recv'event'connection'ok serv@Server{..} mv = do
 let counter = _counter + 1
 let connections = _connections + 1
 ch <- newChan
 let client = Client { _id = counter, _ch = ch }
 let clients = M.insert counter client _clients
 putMVar mv (Just client)
 let serv' = serv { _counter = counter, _connections = connections, _clients = clients }
 return serv'