Use DList instead of Sequence for building; avoids space leaks