A difference List is a Function that, given a List, returns the original
contents of the difference List prepended to the given List.
This structure supports O(1) append and push operations on lists, making it
useful for append-heavy uses such as logging and pretty printing.
"Run" a DList by appending it on the right by a List α to get another List α.
The apply function of a DList is completely determined by the list apply [].
Instances For