https://ruclips.ru/en/watch/GrX9NLBtzcw/functional-programming-with-php-php-advanced-concepts