Implementation thoughts: 1. Add a SelectRecursiveAtLevel method that only returns items at a provided depth `n` 2. For the breadth first version, just call SelectrecursizeAtLevel for 0 -> N (where we stop once an empty level is found) 3. Allows for a breadth first search where one can provide a max level paramater 4. To keep the implementation cheap, this would require multiple iterations of the provided source collection - This is probably better than the potentially huge state the method would have to maintain to keep track of where the traversal is
Implementation thoughts:
n