я говорил про квери по ДУ колонке, но я так не делаю в целом. Я просто кладу в БД, потом просто достаю. Это дело аппликейшна сериализовать/десериализовать. Там может быть не жсон, а протобаф даже, бд пофигу
Обычно определяют не Monad<'T> -> 'T, а определяют Monad<Monad<'T>> -> Monad<'T>. Называется join либо flatten. Позволяет определить композицию Клейсли через композицию функций и вышеупомянутый join.