src/immutable-lodash.js
function difference(iterable, values) {
  const valueSet = Set(values)
  return iterable.filterNot((x) => valueSet.has(x))
}
function difference(iterable, values) {
  const valueSet = Set(values)
  return iterable.filterNot((x) => valueSet.has(x))
}
function difference ( iterable , values ) { const valueSet = Set ( values ) return iterable . filterNot ( ( x ) => valueSet . has ( x ) ) }
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]
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 .