higher order function for mapping via depth-fisrt search
depth-first map iterates by left-to-right search.
enum t = tuple(1, 2, tuple(3, tuple(tuple(4, 5), 6), 7)); static assert(depthFirstFlatMap!(x => x)(t) == tuple(1, 2, 3, 4, 5, 6, 7));
See Implementation
higher order function for mapping via depth-fisrt search