after digging through a level or two of confusion, I find (as usual) that we
agree pretty much.
The problem as I see it seems to be the same as you see: The case where a
message/foo with 8bit or Binary encoding arrives at an 8-to-7 gateway; this
was not clear enough in my earlier prose.
I like your solution - it specifies a nice, clean algorithm to implement in
gateways, and leaves the burden of pssibly recursively encoded message/foo
types where it belongs - in UAs that want to deal with newly defined types.