cons package:dlist

cons x xs is a DList with the head x and the tail xs. <math>(1). cons obeys the law:
toList (cons x xs) = x : toList xs
cons x xs is a DNonEmpty with the head x and the tail xs. <math>(1). cons obeys the law:
toNonEmpty (cons x xs) = cons x (toNonEmpty xs)
A unidirectional pattern synonym for cons. This is implemented with toList.