A little bit more info:

The subject should be "Marshal::dump thinks REXML document is a
singleton?!" And I've confirmed that the same error occurs regardless of
whether I'm using irb or not.

I also took a quick tour through the REXML code, thinking that perhaps
some member object of the document might be a singleton, but I didn't
find anything even suggestive of singletonness anywhere: no private
constructors, no inheritance from singleton classes (unless it's very
well hidden).

I wonder how Marshal determines that an object is a singleton?
Apparently it's implemented in C, so browsing the source code probably
wouldn't help me much.

-- 
Matt Gushee
Englewood, Colorado, USA
mgushee / havenrock.com
http://www.havenrock.com/