ContractError now stores fields that break contracts.