code: function(fun) {
        return function(/* args */) {
          var flipped = __slice.call(arguments);
          flipped[0] = arguments[1];
          flipped[1] = arguments[0];
  
          return fun.apply(this, flipped);
        };
      }
docs: Flips the first two args of a function