contract.requires example