//// [promises.ts] interface Promise { then(success?: (value: T) => U): Promise; then(success?: (value: T) => Promise): Promise; value: T; } //// [promises.js]