class LazyPromise extends Promise {
    constructor( factory ) {
        if ( typeof factory !== 'function' ) {
            throw new TypeError( `Promise resolver ${typeof factory} is not a function` );
        }