*
@method Object.is[Type](<obj>)
@returns Boolean
@short Returns true if <obj> is an object of that type.
@extra %isObject% will return false on anything that is not an object literal, including instances of inherited classes. Note also that %isNaN% will ONLY return true if the object IS %NaN%. It does not mean the same as browser native %isNaN%, which returns true for anything that is "not a number".

@set
isArray
isObject
isBoolean
isDate
isFunction
isNaN
isNumber
isString
isRegExp

@example

Object.isArray([1,2,3])            -> true
Object.isDate(3)                   -> false
Object.isRegExp(/wasabi/)          -> true
Object.isObject({ broken:'wear' }) -> true

*
function buildTypeMethods() {
    extendSimilar(object, false, false, ClassNames, function(methods, name) {
      var method = 'is' + name;
      ObjectTypeMethods.push(method);
      methods[method] = typeChecks[name];
    });
  }