Support writing needed extension types

Well I don't think it's any more litter than all the pre-conditions that already exist.