when you think about it, not toooo surprising. Haskell's undeniable killer app is parsing and compilation, so pandoc was pretty much a project destined for Haskell if I ever saw one :)
you don't need an ordered JSON for this. Just make sure that your equality tests ignore ordering, or that your and hash functions will hash two JSON objects with the same key but different order to the same hash.
GoL wasn't used here because of any value or analogy... it's used as an example of how a simple set of rules can generate complex behavior. GoL can display complex behavior, but it would be a stretch to to say that the rules governing it are complex. If you think GoL is too simplistic, you are agreeing with the original comment.