let p1 = new Promise(function(resolve, reject) {
   resolve(42);
});
let p2 = MyPromise.resolve(p1);
p2.success(function(value) {
   console.log(value); // 42
});
console.log(p2 instanceof MyPromise); // true