Are you hardcoding the fact that any time a SimpleObject is serialized, it should produce <result>? I don't think I like that...

Is there a way that we could get the converter to use the resource name here? (E.g. a SimpleObject representing a concept would be <concept> not <result>.) I assume that would be very hard.

I would almost prefer just calling this <map>. Because sometimes a SimpleObject will contain another SimpleObject as a property, and that definitely shouldn't be <result>...