Using monadic effects in haskell to reverse a mergesort | Hacker News Reader