my @big = gather { walk() } for @big -> $b { ... } sub walk { # do stuff here; take $result; walk(); # recurse into self }