def is?(class_symbol)
      clause(class_symbol.to_s) { |o|
        Object.const_defined?(class_symbol) && o.is_a?(Object.const_get(class_symbol))
      }
    end
def is?(class_symbol)
      clause(class_symbol.to_s) { |o|
        Object.const_defined?(class_symbol) && o.is_a?(Object.const_get(class_symbol))
      }
    end
Allows you to check whether the argument is_a? of the given symbol.
 For example, is?(:String).  Useful for situations where you want
 to check for a class type that hasn't been defined yet when Ruby
 evaluates the contract but will have been by the time the code runs.
 Note that <tt>String => anything</tt> is equivalent to
 <tt>is?(:String) => anything</tt>.