code: function cacheIndexOf(cache, value) {
      var type = typeof value;
      cache = cache.cache;
  
      if (type == 'boolean' || value == null) {
        return cache[value];
      }
      if (type != 'number' && type != 'string') {
        type = 'object';
      }
      var key = type == 'number' ? value : keyPrefix + value;
      cache = cache[type] || (cache[type] = {});
  
      return type == 'object'
        ? (cache[key] && basicIndexOf(cache[key], value) > -1 ? 0 : -1)
        : (cache[key] ? 0 : -1);
    }
docs: An implementation of `_.contains` for cache objects that mimics the return
  signature of `_.indexOf` by returning `0` if the value is found, else `-1`.
  
  @private
  @param {Object} cache The cache object to inspect.
  @param {Mixed} value The value to search for.
  @returns {Number} Returns `0` if `value` is found, else `-1`.