O(ND) diff algorithm in Haskell. Implementation of the standard diff algorithm, and utilities for pretty-printing.