Make Element.set_attr require an AbstractNode so we can always downcast.