I'd like to expose `traverseModule` and `traverseDeclaration` as well, but not with the `depth` parameter to the latter. Can we split it into a public/private variant?