Make GenericObject more amenable to optional fields, clarify docs (bug 859562)