Expose internal d nodes via foldDUAL

Previously, we prudishly declared that users must not be given access to internal `d` annotations.  However, this turns out to be precisely what we need to implement backends via trees.  This pull request changes `foldDUAL` to give access to internal `d` nodes, and adds more commentary explaining its correct use.