Currently we have a strange peace of code that alters behavior of transactions (aka deltas) and makes them strict in regards of quad existence. So you basically tell if the whole Tx should fail if one of values exists, or it shouldn’t. And this flag is global. Why? In any other systems you can just state in the same Tx that you want to check if a particular value exists or not, if it should equal to a certain value, etc. If we really want users to build apps on top of Cayley, we should allow these individual constraints to be added per-transaction, and should be explicitly defined by user. If he asks to just write a value, we should just write a value, and if he asks us to check existence, we should do exactly this.