TES
эти кусочки я понимаю. блин, как же тяжело объяснить что ты не понимаешь, когда ты это не понимаешь
у тебя есть код, который преимущественно основан на чистых функциях. преимущественно потому что логирование (сайд-эффект) и метрики (тоже) как правило выполняются прямо в "чистом" коде. но вся программа чистой быть не может, как ты уже успел заметить - банальная запись в базу (как и любой другой IO) это сайдэффект по определению. отсюда появляется другая часть программы, которую желательно деражть в очень ограниченом количестве, где "код на С", такой же по духу, но на синтаксисе конкретно языка. там все мутабельно, там есть локи, там передаются данные по ссылкам для эффективности и т.д.