Support writing needed extension types

Why the `boolean` call here?