Desugaring Haskell's do-notation into applicative operations
MapReduce: simplified data processing on large clusters