code: function (fn) {
          /**
           * Chain function.
           *
           * @function
           * @memberof! funcs
           * @alias funcs.maxTimesChain
           * @private
           * @param {Number} times - The max times the provided function will be invoked
           * @returns {function} The new wrapper function
           */
          fn.maxTimes = function (times) {
              return funcs.maxTimes(fn, times);
          };
  
          /**
           * Chain function.
           *
           * @function
           * @memberof! funcs
           * @alias funcs.onceChain
           * @private
           * @returns {function} The new wrapper function
           */
          fn.once = function () {
              return funcs.once(fn);
          };
  
          /**
           * Chain function.
           *
           * @function
           * @memberof! funcs
           * @alias funcs.delayChain
           * @private
           * @param {Number} delay - The invocation delay in millies
           * @returns {function} The new wrapper function
           */
          fn.delay = function (delay) {
              return funcs.delay(fn, delay);
          };
  
          /**
           * Chain function.
           *
           * @function
           * @memberof! funcs
           * @alias funcs.asyncChain
           * @private
           * @returns {function} The new wrapper function
           */
          fn.async = function () {
              return funcs.async(fn);
          };
      }
docs: Adds chaining support for the provided function.
  
  @function
  @memberof! funcs
  @alias funcs.addChaining
  @private
  @param {function} fn - Adds the funcs APIs to the provided function with this function as a context