map transform . mapMaybe safeHead (intercalate ", " . map show . Map.elems) myMap
What I find really hard to read, are expressions where the direction of the data flow changes, something that often happens to me in Java: Streams.takeWhile(list.stream().map(e -> f(e)), e -> e.isNeeded())
http://www.haskellforall.com/2012/06/you-could-have-invented...
http://www.haskellforall.com/2012/07/purify-code-using-free-...