Вот мой путь, если что: 1. прочитать FP in scala. Решить, что ФП бессмысленно, беспощадно и бесполезно. 2. прочитать scala with cats. Посидеть в недоумении. 3. пописать на котах, спроектировать пару собственных монад с уникальным функционалом. 4. примерно здесь наступает просветление.