Support writing needed extension types

ok