I have some business processes that end up reading/saving data from and to a relational database. Some of my logic is pure, and some of it need this shared mutable state. Is there an idiomatic or clean way to handle side effects in clara ? It would be great if I could, for example, rollback a transaction in my database when the fact that caused the corresponding side effect is retracted … don't know if it's a sane way to tackle the problem thought…