Contracts: Examples & Explanations, 5th Edition