Support writing needed extension types

What about a pre-cond for the `is-ca` boolean? I might just make this 2 functions though since one of the parameters is ignored based on the other parameter. No big deal though.