Simplify query builder by using writer instead of state.
Simplify internal definitions.
Update haddock.
Simplify by using DList directly.
Remove unused module.