Монады и не описывают ничего асинхронного. Нужны процессы, а это другой уровень абстракций. Но. Я просто к тому, что во всех случаях нужно понятие функции. Оно ключевое. Даже в Сетях Петри. И уметь программировать с функциями (а, на самом деле, если говорить точно, то с алгоритмами, ФП правильнее называть алгоритмическим программированием) полезно. И полезно эти навыки применять в проектировании. Всяко полезнее Сетей Петри. Асинхронные системы я постоянно проектирую, такова уж моя работа.
Нет, ну если так поставить вопрос — против "алгоритмического программирования" вообще сложно что-либо возразить :)
Асинхронность, как сами понимаете, бывает разная. На нижних уровнях это бестактовые схемы, асихронные выч. ядра. Далее — GALS. Далее мы выходим за пределы кристалла и там свои вопросы. Везде используются свои подходы.