code: function takeNth(collection, n) {
    const [col, num] = isNumber(collection) ? [null, collection] : [collection, n];
    return col ? sequence(col, takeNth(num)) : xform => takeNthTransducer(num, xform);
  }
docs: **Creates a new collection consisting of the first element of the input collection, and then every `n`th element
  after that.**
  
  Note that unlike `{@link module:xduce.transducers.take|take}` and
  `{@link module:xduce.transducers.takeWhile|takeWhile}`, this function is not capable of returning a finite collection
  when given an infinite collection.
  
  If no collection is provided, a function is returned that can be passed to `{@link module:xduce.sequence|sequence}`,
  et al.
  
  ```
  const result = takeNth([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3);
  // result = [1, 4, 7, 10]
  ```
  
  @memberof module:xduce.transducers
  
  @param {*} [collection] An optional input collection that is to be transduced.
  @param {number} n The skip value. Every `n`th element of the input collection, after the first, will be a part of
  the output collection.
  @return {(*|module:xduce~transducerFunction)} If a collection is supplied, then the function returns a new
  collection of the same type containing only every `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.