The Design and Interpretation of Contracts: Why Complexity Matters