try {
            if (isDirectory(curr)) {
                yield* __files(curr, match, logger, maxDepth, depth + 1);
            } else if (pred(curr)) {
                yield curr;