code: function(/*fns*/) {
          var fns = [].slice.call(arguments);
          return function piped(/*args*/) {
            var args = [].slice.call(arguments);
            fns.forEach(function(fn) {
              args = [fn.apply(null, args)];
            });
            return args[0];
          };
        }
docs: Runs several functions, using the result of one function as the argument for the next.
  
  pipe :: (fns) → (a) → r
  
  @param arguments - A variadic number of functions
  @returns function
  @param arguments - A variadic number of arguments
  @returns The result of calling each function on the arguments