(apart from the fact that you could do all of this with CSS of course ;--) ?

I agree that sometimes it can get a little confusing though, when the returned object/value is not obvious: should $elt->delete_atts return the element, so you can chain method calls on it, or should it return the attribute hash so you can store it?