Support writing needed extension types

Interesting. So you mean make it a multi-arity function that takes either nothing or a max path length?