code: function difference(iterable, values) {
    const valueSet = Set(values)
    return iterable.filterNot((x) => valueSet.has(x))
  }
docs: Creates an Iterable of `iterable` values not included in the other given iterables
  The order of result values is determined by the order they occur
  in the first iterable.
  
  @static
  @memberOf _
  @category Iterable
  @param {Iterable} iterable The iterable to inspect.
  @param {...Iterable} [values] The values to exclude.
  @returns {Iterable} Returns the iterable of filtered values.
  @see _.without, _.xor
  @example
  
  _.difference([2, 1], [2, 3])
  // => [1]