Difference Lists List-like types supporting O(1) append and snoc operations. Installation dlist is a Haskell package available from Hackage. It can be installed with cabal or stack. See the change log for the changes in each version. Usage Here is an example of “flattening” a Tree into a list of the elements in its Leaf constructors: import qualified Data.DList as DList data Tree a = Leaf a | Bran