At the moment most of my public member functions are littered with these kind of in-out clauses.
in{ assert(wellformed, toString); } out{ assert(wellformed, toString); } They just beg for invariants, I though.. But invariants don't report the location of failure of contract, only the location of failure within the invariant. This seems kind of limiting. Am I missing something here?