shimKeys = function(object) {
      var index, iterable = object, result = [];
      if (!iterable) return result;
      if (!(objectTypes[typeof object])) return result;
        for (index in iterable) {
          if (hasOwnProperty.call(iterable, index)) {
            result.push(index);
          }
        }
      return result
    }
A fallback implementation of `Object.keys` which produces an array of the
given object's own enumerable property names.

@private
@type Function
@param {Object} object The object to inspect.
@returns {Array} Returns an array of property names.