code: function drop(collection, n) {
    const [col, num] = isNumber(collection) ? [null, collection] : [collection, n];
    return col ? sequence(col, drop(num)) : xform => dropTransducer(num, xform);
  }
docs: **Creates a new collection consisting of all of the elements of the input collection *except* for the first `n`
  elements.**
  
  While this could be considered an opposite of `{@link module:xduce.transducers.take|take}`, there is one difference:
  `drop` cannot return a finite collection when provided an infinite one.
  
  If no collection is provided, a function is returned that can be passed to `{@link module:xduce.sequence|sequence}`,
  et al.
  
  ```
  const result = drop([1, 2, 3, 4, 5], 3);
  // result = [4, 5]
  ```
  
  @memberof module:xduce.transducers
  
  @param {*} [collection] An optional input collection that is to be transduced.
  @param {number} n The number of elements at the beginning of the input collection that should be discarded in the
  output collection.
  @return {(*|module:xduce~transducerFunction)} If a collection is supplied, then the function returns a new
  collection of the same type without its first `n` elements. If no collection is supplied, a transducer function,
  suitable for passing to `{@link module:xduce.sequence|sequence}`, `{@link module:xduce.into|into}`, etc. is
  returned.