docs: function dispatch() {
    var commands = [].slice.call(arguments);
  
    return function fn() {
      var args = [].slice.call(arguments);
      var result;
  
      for (var i = 0; i < commands.length; i++) {
        result = commands[i].apply(undefined, args);
  
        if (result !== undefined) {
          break;
        }
      }
  
      return result;
    };
  }