Support writing needed extension types

s/protocl/protocol