Візьмімо вкладений список і повернімо єдиний плоский список з усіма значеннями, крім nil/null.
Завдання полягає в тому, щоб написати функцію, яка приймає вкладену структуру довільної глибини, подібну до списку, і повертає плоску структуру без значень nil/null.
Наприклад:
input: [1,[2,3,null,4],[null],5]
output: [1,2,3,4,5]
Не використовуючи вбудований метод вирівнювання, ми можемо вивести власний, але нам доведеться розрізняти, що є колекцією, а що ні. Або ж, якщо ми вирішимо скористатися вбудованими методами вирівнювання, нам доведеться створити новий тип Stream, щоб перевизначити неправильну поведінку.