This test fails, but I'm not sure if that's because the code is wrong or because I don't totally understand XML namespaces - at least it looks like the code is trying to be namespace-aware. @chouser, can you take a look?
… no distinction between 'always empty' and 'happens to be empty'
This allows the head of the seq to be released when it's no longer needed. Includes test to verify head is actually released.