def check_equivalence!(given, expected)
      unless expected === given
        mesg = "expected #{expected.inspect}, received #{given.inspect}"
        throw :contract, ContractViolation.new(mesg)
      end
    end
def check_equivalence!(given, expected)
      unless expected === given
        mesg = "expected #{expected.inspect}, received #{given.inspect}"
        throw :contract, ContractViolation.new(mesg)
      end
    end
Checks the given value against the expected value using === and throws
 :contract if it fails.  This is a bit clunky.