code: function (protoFn, checkThisArgFn) {
              throwIfNotAFunction(protoFn);
              if (!isFunction(checkThisArgFn)) {
                  checkThisArgFn = checkObjectCoercible;
              }
  
              return function (thisArg) {
                  return protoFn.apply(checkThisArgFn(thisArg), argSlice(arguments, 1));
              };
          }
docs: /*jslint maxlen: 150 
  Prototypal function, as usually used in
  {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain inheritance and the prototype chain}.
  @typedef {Function} prototypalFunction
  @param {...*} [varArgs]
  @returns {*}
   /*jslint maxlen: 120 
  Stand alone function created from a {@link prototypalFunction prototypalFunction}.
  @typedef {Function} boundPrototypalFunction
  @param {...*} [varArgs]
  @returns {*}