Good afternoon,
Thanks for the VERY useful insight into the programming-by-contract work.
I don't see why the "group #1" wants to continue after a contract violation - it's like trying to call "double sqrt(double x) require: x >= 0 { ... }" as "sqrt(-1)" - the obvious choice would be to throw something like "bad_contract" on a violation (which should then never be "checked"). I'll read up on this subject further, so thanks again.