Support writing needed extension types

See my comment above.  There's more to consider than being idiomatic, but sure.