You can use [`.flat_map`](http://static.rust-lang.org/doc/master/std/iter/trait.Iterator.html#method.flat_map) to unnest iterators, although it may not work in this context because of how the closure-captures interact.