> Eg: this might be confusing to a new user.  Requires you to know
> details of parser class.
> 
> >root  =  XML::Parser.new.string  =  (str).root
> 
> Maybe it's possible to automatically create or infer set_ aliases?
> 
> root = XML::Parser.new.set_string( str ).root
> 
> Automatic variant of string=() when no other set_string present?

Honestly?  I don't care about new users particularly, only clean
semantics and elegance: exceptions are ugly.  The XML::Parser example
above was something that I was typing out as a one liner while doing
some testing and is something that I can work around.  I actually
think I may rename all of my = methods to be << or ^ methods that way
the expected behavior isn't hampered by with the parser.

XML::Parser is in fact, a hidden class that most users shouldn't use,
but this came about as the inability to chain methods together has bit
me yet again.  I've probably run into this in no fewer than a dozen
places in the last week and my toes are extremely sore from having run
into this all over the place.

Anyway, unless the powers that be change their minds on this and
backout these commits, I think I'm done grumbling.  :-/  -sc

-- 
Sean Chittenden