PRANG::Graph::Element: fiddle with edge cases on marshall out
PRANG::Graph::Element: fiddle with edge cases on marshall out

In cases where the value in the slot doesn't match the type constraint,
some fall-back behaviour happens; such as allowing LibXML nodes, and just
going ahead and serialising anyway based on the objects we found in that
slot.  The logic didn't cover all cases, so re-organize it a bit.

catalyst/PRANG,catalyst/PRANG