in #880, we "discovered" the reflect-based approach for reading (and writing) values for which a r/w-streamer has been generated (roops, woops, rmops, wmops) won't work when the fields of those values are not exported.
what was done in #881 was to detect when a type implements rbytes.Unmarshaler and use that (so the reflect-based code isn't used).
options to generally address this:
- use an
unsafe scheme
- introduce a new interface/protocol