Source: https://scg.unibe.ch/download/lectures/p2/P2-03-DesignByContract.pdf