Chat service exercise from Parallel and Concurrent Programming in Haskell