refactor Diff.hs