Лично у меня получилось писать функционально, когда я хорошо освоился с такими понятиями как lazy функции, когда хорошо понял как работает maybe, что из любой функции можно сделать чистую. ну когда есть конкретные штуки, когда видишь почему Task может быть более интересен чем Promise, когда можешь легко написать простейший Task и map к нему. На ютубе есть видео где Фрисби на Реакте пишет.
Короче в какойто момент случиться переворот, когда просто станешь это понемногу использовать. ну все с карри и компоса начнется.
Предупреждаю, пути назад уже не будет!!!!
вот это посмотри
https://ocw.mit.edu/courses/electrical-engineering...
еще есть книжка к курсу на русском, найдешь в сети без проблем.