code: function applySuperMethod (fn, sup) {
          return function () {
              var prev, result;
              prev = this.sup;
              this.sup = sup;
              result = fn.apply(this, arguments);
              this.sup = prev;
              if (typeof this.sup === 'undefined') {
                  delete this.sup;
              }
              return result;
          };
      }
docs: Apply a super-method to a function. `this.sup` is set to `sup` inside calls to `fn`.