It feels like we could simplify this and provide a default (or perhaps use the existing walker, maybe do a pull request to support multiple extensions in the walker) extension.