code: function isBuiltIn(obj) {
  
  	// If primitive, array, or POJO return true. Also check if
  	// it is not a POJO but is some type like [object Date] or
  	// [object Regex] and return true.
  	if (isPrimitive(obj) ||
  		Array.isArray(obj) ||
  		isPlainObject(obj) ||
  		(Object.prototype.toString.call(obj) !== '[object Object]' &&
  			Object.prototype.toString.call(obj).indexOf('[object ') !== -1)) {
  		return true;
  	}
  	else {
  		return false;
  	}
  }
docs: @function can-reflect.isBuiltIn isBuiltIn
  @parent can-reflect/type
  @description Test if a value is a JavaScript built-in type.
  @signature `isBuiltIn(obj)`
  
  Return `true` if `obj` is some type of JavaScript native built-in; `false` otherwise.
  
  ```js
  canReflect.isBuiltIn(null); // -> true
  canReflect.isBuiltIn({}); // -> true
  canReflect.isBuiltIn(1); // -> true
  canReflect.isBuiltIn([]); // -> true
  canReflect.isBuiltIn(function() {}); // -> true
  canReflect.isBuiltIn("foo"); // -> true
  canReflect.isBuiltIn(new Date()); // -> true
  canReflect.isBuiltIn(/[foo].[bar]/); // -> true
  canReflect.isBuiltIn(new DefineMap); // -> false
  
  ```
  
  Not supported in browsers that have implementations of Map/Set where
  `toString` is not properly implemented to return `[object Map]`/`[object Set]`.
  
  @param  {*}  obj maybe a built-in value
  @return {Boolean}