Yup, it's a missing feature. I'd like to get both things to be a bit more mature before trying to define it, because it'll be constantly churning if we try to pin it down too early.
I would recommend:
opening an issue to track it
making a sketch in your own project to experiment (partially for use, partially to feedback into the issue).
The protocol you've sketched is roughly [CharacteristicZero]Field; I expect that naming will require a little bit of bikeshedding at some point, too =)