svoid withCancelPoint(VF1 r) { temp CancelPoint cp = newCancelPoint(); try { callF(r, cp); } catch e { e = innerException(e); if (!(e instanceof CancelToCancelPoint && e/CancelToCancelPoint.cp == cp)) rethrow(e); } } svoid withCancelPoint(IVF1 r) { temp CancelPoint cp = newCancelPoint(); try { r.get(cp); } catch e { e = innerException(e); if (!(e instanceof CancelToCancelPoint && e/CancelToCancelPoint.cp == cp)) rethrow(e); } }