A few ideas:
Construction:
* xml_construct is somewhat limited in that it overrides default constructor
arguments arguments and doesn't allow non-xml arguments
* parse has room to provide non-xml initialization arguments after the initial xml argument
but such a feature would need to integrate with xml_construct, and must settle the
question of when to call initialize: before or after parsing. Before and you maintain
the standard 'initialization is called on empty objects', but you don't have the benefit of
xml attrs to initialize with. After and vice versa.
* :as => :self for sending method_missing to this attribute
* :as => :int/float as shorthand for "do |val| Integer(val) end"