Condition-Orientated Programming
Gav Would

Seems important to have this kind of guarding in blockchain programming. Looks related to Bertrand Meyer’s contracts. But also on the static checking side it looks related to refinement types — types endowed with predicates. It’s interesting that you want calls that fall outside the range of the checks to be no-ops, whereas classically people want those calls to fail.