Насколько часто вы формально будете доказывать валидность при ежедневном написании бизнес логики?)
С опытом простые структуры типа моноидов/колец/монад/функторов интуитивно замечаются и доказываются очень просто - там нужно пару равенств проверить. Это как паттерны из GoF, только опираются на формальные определения.
Помогает писать dsl и переиспользовать множество трюков из std lib.
Не сказать, что без этих знаний кода не напишешь, но они определенно дают свои плюсы к тому, что тебе не приходится каждый раз переизобретать решения проблем заново