Yeah, I tend to agree.  Like, are you going to recursively call ApplyDefaults on all embedded objects? That's even more gross, but I bet you'll have to. The conversion code already handles the recursive cases... 