Basic iterators over XML tree (functorial interface).
The following can safely be exported by higher level libraries, because removing an attribute from a element is always legal.
Exporting the following by higher level libraries would drive a hole through a type system, because they allow to add any attribute to any element.