docs: function packRestArguments(pattern, args) {
        if(pattern.all) {
          return [args];
        } else if(pattern.rest) {
          var firstArgs = _.head(args, pattern.args.length);
          var restArgs = _.tail(args, pattern.args.length);
          firstArgs.push(restArgs);
          return firstArgs;
        } else {
          return args;
        }
      }