docs: function(callback, label) {
          var constructor = this.constructor;
  
          return this.then(function(value) {
            return constructor.resolve(callback()).then(function(){
              return value;
            });
          }, function(reason) {
            return constructor.resolve(callback()).then(function(){
              throw reason;
            });
          }, label);
        }