>The way I reason about it is that the contracts are more soft conditions that you expect to not really reach
What's the difference from an assert then?
What's the difference from an assert then?
Because of inlining them at the call site happens, static analysis will already pick up some obvious violations.
Finally, these contracts may be used to compile time check otherwise untyped arguments to macros.