add DList

doesn't compile because there is not a semigroup instance for DList