user
Task

Write a function to flatten the nesting in an arbitrary list of values.

Your program should work on the equivalent of this list:

```
  [[1], 2, [[3, 4], 5], [[[]]], [[[6]]], 7, 8, []]

```

Where the correct result would be the list:

```
   [1, 2, 3, 4, 5, 6, 7, 8]

```

Related task

* Tree traversal
assistant
(formerly Perl 6)

**Works with**: Rakudo Star version 2018.03

```
my @l = [[1], 2, [[3,4], 5], [[[]]], [[[6]]], 7, 8, []];

say .perl given gather @l.deepmap(*.take); # lazy recursive version

# Another way to do it is with a recursive function (here actually a Block calling itself with the &?BLOCK dynamic variable):

say { |(@$_ > 1 ?? map(&?BLOCK, @$_) !! $_) }(@l)
```