Support writing needed extension types

Out of curiosity, is there a reason that these values really need to be true/false instead of something truth-y/false-y?