И так факты - получил ты ссылку на какие-то данные в метод или функцию. Изменил их. Без ссылочной прозрачности характерной для ФП ещё кто-то может изменить по ссылке как-то по другому эти данные. Если это происходит в многопоточном окружении это может произойти еще и пока твой метод выполняется. В общем то можно хоро и без ссылочной прозрачности писать но это писец каких затрат сил и бойлерплейта требует. Вот эти все IRepository и прочее это же для того чтобы ты точно знал что вот сейчас будет запись в базу а не в какой-то непонятный момент ты выставил значение свойству и тут бабах
А статьи на хабре у тебя есть по этой тематике?
Я доводы _"зачем мне ФП если у меня есть хороший дебаггер и усидчивая натура":-) слышу регулярно, и у тебя вроде неплохо получается аргументы излагать. Ты вообще в какой области работаешь?