Т.е. минимально: 1. абстрагируем базу - "user space" отвечает за запросы и транзакции (MonadDb) 2. абстрагируем тип транзакции - "user space" отвечает за запросы, но не транзакции (MonadDb Mode) 3. абстрагируем запросы - user space ничего не знает про запроы и работает с фиксированным интерфейсом (QueryType Input Output)
Т.е. минимально: 1. абстрагируем базу - "user space" отвечает за запросы и транзакции (MonadDb) 2. абстрагируем тип транзакции - "user space" отвечает за запросы, но не транзакции (MonadDb Mode) 3. абстрагируем запросы - user space ничего не знает про запроы и работает с фиксированным интерфейсом (QueryType Input Output)
У меня так вышло, что, чтобы можно было работать в логике с транзакциями - пришлось две монады сделать х(