Support writing needed extension types

That would certainly assplode. But `(boolean critical)` would turn it into a real bool. In this case this is probably fine, but in general it's probably considered more functional to accept "truthy" values over absolutely boolean values.