 Spec# adds checked exceptions like those in Java.Checked exceptions are problematic, because when a lower-level function adds a new exception type, the whole chain of methods using this method at some nested lower level must also change its contract.This violates the open/closed principle.