code: function tryReject( func, context ) {
      try {
          for( var _len2 = arguments.length, args = Array( _len2 > 2 ? _len2 - 2 : 0 ), _key2 = 2; _key2 < _len2; _key2++ ) {
              args[_key2 - 2] = arguments[_key2];
          }
  
          return tryPromise( func.apply( context, args ) );
      } catch( err ) {
          return _bluebird2.default.reject( err );
      }
  }
docs: /*
  Executes a function synchronously and returns a rejected Promise if it throws