diff --git a/src/lib/es2015.promise.d.ts b/src/lib/es2015.promise.d.ts
index f15f43811748e..7d31dc9668577 100644
--- a/src/lib/es2015.promise.d.ts
+++ b/src/lib/es2015.promise.d.ts
@@ -10,7 +10,7 @@ interface PromiseConstructor {
      * a resolve callback used to resolve the promise with a value or the result of another promise,
      * and a reject callback used to reject the promise with a provided reason or error.
      */
-    new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
+    new <T>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
 
     /**
      * Creates a Promise that is resolved with an array of results when all of the provided Promises
diff --git a/src/lib/es5.d.ts b/src/lib/es5.d.ts
index 807d056c665ed..12e727e243804 100644
--- a/src/lib/es5.d.ts
+++ b/src/lib/es5.d.ts
@@ -1396,7 +1396,7 @@ declare type PropertyDecorator = (target: Object, propertyKey: string | symbol)
 declare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
 declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void;
 
-declare type PromiseConstructorLike = new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void) => PromiseLike<T>;
+declare type PromiseConstructorLike = new <T>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void) => PromiseLike<T>;
 
 interface PromiseLike<T> {
     /**
diff --git a/tests/baselines/reference/asyncAwaitNestedClasses_es5.types b/tests/baselines/reference/asyncAwaitNestedClasses_es5.types
index 40f0e5ce9b900..67e4ca647d71b 100644
--- a/tests/baselines/reference/asyncAwaitNestedClasses_es5.types
+++ b/tests/baselines/reference/asyncAwaitNestedClasses_es5.types
@@ -14,10 +14,10 @@ class A {
             return new Promise((resolve) => { resolve(null); });
 >new Promise((resolve) => { resolve(null); }) : Promise<void>
 >Promise : PromiseConstructor
->(resolve) => { resolve(null); } : (resolve: (value?: void | PromiseLike<void>) => void) => void
->resolve : (value?: void | PromiseLike<void>) => void
+>(resolve) => { resolve(null); } : (resolve: (value: void | PromiseLike<void>) => void) => void
+>resolve : (value: void | PromiseLike<void>) => void
 >resolve(null) : void
->resolve : (value?: void | PromiseLike<void>) => void
+>resolve : (value: void | PromiseLike<void>) => void
 >null : null
         }
         static C = class C {
diff --git a/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types b/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types
index 377f7c15ae321..97981254e90aa 100644
--- a/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types
+++ b/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types
@@ -17,10 +17,10 @@ async function fn1(): Promise<Obj> {
 >await new Promise(resolve => resolve({ key: "value" })) : Obj
 >new Promise(resolve => resolve({ key: "value" })) : Promise<Obj>
 >Promise : PromiseConstructor
->resolve => resolve({ key: "value" }) : (resolve: (value?: Obj | PromiseLike<Obj>) => void) => void
->resolve : (value?: Obj | PromiseLike<Obj>) => void
+>resolve => resolve({ key: "value" }) : (resolve: (value: Obj | PromiseLike<Obj>) => void) => void
+>resolve : (value: Obj | PromiseLike<Obj>) => void
 >resolve({ key: "value" }) : void
->resolve : (value?: Obj | PromiseLike<Obj>) => void
+>resolve : (value: Obj | PromiseLike<Obj>) => void
 >{ key: "value" } : { key: "value"; }
 >key : "value"
 >"value" : "value"
diff --git a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types
index d47a623ffc6c3..77aa15a8b085a 100644
--- a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types
+++ b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types
@@ -17,12 +17,12 @@ async function fn2(): Promise<Obj> {
     return new Promise(resolve => {
 >new Promise(resolve => {        resolve({ key: "value" });    }) : Promise<Obj>
 >Promise : PromiseConstructor
->resolve => {        resolve({ key: "value" });    } : (resolve: (value?: Obj | PromiseLike<Obj>) => void) => void
->resolve : (value?: Obj | PromiseLike<Obj>) => void
+>resolve => {        resolve({ key: "value" });    } : (resolve: (value: Obj | PromiseLike<Obj>) => void) => void
+>resolve : (value: Obj | PromiseLike<Obj>) => void
 
         resolve({ key: "value" });
 >resolve({ key: "value" }) : void
->resolve : (value?: Obj | PromiseLike<Obj>) => void
+>resolve : (value: Obj | PromiseLike<Obj>) => void
 >{ key: "value" } : { key: "value"; }
 >key : "value"
 >"value" : "value"
@@ -47,12 +47,12 @@ async function fn4(): Promise<Obj> {
 >await new Promise(resolve => {        resolve({ key: "value" });    }) : Obj
 >new Promise(resolve => {        resolve({ key: "value" });    }) : Promise<Obj>
 >Promise : PromiseConstructor
->resolve => {        resolve({ key: "value" });    } : (resolve: (value?: Obj | PromiseLike<Obj>) => void) => void
->resolve : (value?: Obj | PromiseLike<Obj>) => void
+>resolve => {        resolve({ key: "value" });    } : (resolve: (value: Obj | PromiseLike<Obj>) => void) => void
+>resolve : (value: Obj | PromiseLike<Obj>) => void
 
         resolve({ key: "value" });
 >resolve({ key: "value" }) : void
->resolve : (value?: Obj | PromiseLike<Obj>) => void
+>resolve : (value: Obj | PromiseLike<Obj>) => void
 >{ key: "value" } : { key: "value"; }
 >key : "value"
 >"value" : "value"
diff --git a/tests/baselines/reference/defaultExportInAwaitExpression01.types b/tests/baselines/reference/defaultExportInAwaitExpression01.types
index 5c8620ae1dc35..81f8d4bdc5931 100644
--- a/tests/baselines/reference/defaultExportInAwaitExpression01.types
+++ b/tests/baselines/reference/defaultExportInAwaitExpression01.types
@@ -3,11 +3,11 @@ const x = new Promise( ( resolve, reject ) => { resolve( {} ); } );
 >x : Promise<unknown>
 >new Promise( ( resolve, reject ) => { resolve( {} ); } ) : Promise<unknown>
 >Promise : PromiseConstructor
->( resolve, reject ) => { resolve( {} ); } : (resolve: (value?: unknown) => void, reject: (reason?: any) => void) => void
->resolve : (value?: unknown) => void
+>( resolve, reject ) => { resolve( {} ); } : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void
+>resolve : (value: unknown) => void
 >reject : (reason?: any) => void
 >resolve( {} ) : void
->resolve : (value?: unknown) => void
+>resolve : (value: unknown) => void
 >{} : {}
 
 export default x;
diff --git a/tests/baselines/reference/defaultExportInAwaitExpression02.types b/tests/baselines/reference/defaultExportInAwaitExpression02.types
index 5c8620ae1dc35..81f8d4bdc5931 100644
--- a/tests/baselines/reference/defaultExportInAwaitExpression02.types
+++ b/tests/baselines/reference/defaultExportInAwaitExpression02.types
@@ -3,11 +3,11 @@ const x = new Promise( ( resolve, reject ) => { resolve( {} ); } );
 >x : Promise<unknown>
 >new Promise( ( resolve, reject ) => { resolve( {} ); } ) : Promise<unknown>
 >Promise : PromiseConstructor
->( resolve, reject ) => { resolve( {} ); } : (resolve: (value?: unknown) => void, reject: (reason?: any) => void) => void
->resolve : (value?: unknown) => void
+>( resolve, reject ) => { resolve( {} ); } : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void
+>resolve : (value: unknown) => void
 >reject : (reason?: any) => void
 >resolve( {} ) : void
->resolve : (value?: unknown) => void
+>resolve : (value: unknown) => void
 >{} : {}
 
 export default x;
diff --git a/tests/baselines/reference/inferenceLimit.types b/tests/baselines/reference/inferenceLimit.types
index 73593da0fcfcd..48aa9aeec0236 100644
--- a/tests/baselines/reference/inferenceLimit.types
+++ b/tests/baselines/reference/inferenceLimit.types
@@ -19,8 +19,8 @@ export class BrokenClass {
 >new Promise<Array<MyModule.MyModel>>((resolve, reject) => {    let result: Array<MyModule.MyModel> = [];    let populateItems = (order) => {      return new Promise((resolve, reject) => {        this.doStuff(order.id)          .then((items) => {            order.items = items;            resolve(order);          });      });    };    return Promise.all(result.map(populateItems))      .then((orders: Array<MyModule.MyModel>) => {        resolve(orders);      });    }) : Promise<MyModule.MyModel[]>
 >Promise : PromiseConstructor
 >MyModule : any
->(resolve, reject) => {    let result: Array<MyModule.MyModel> = [];    let populateItems = (order) => {      return new Promise((resolve, reject) => {        this.doStuff(order.id)          .then((items) => {            order.items = items;            resolve(order);          });      });    };    return Promise.all(result.map(populateItems))      .then((orders: Array<MyModule.MyModel>) => {        resolve(orders);      });    } : (resolve: (value?: MyModule.MyModel[] | PromiseLike<MyModule.MyModel[]>) => void, reject: (reason?: any) => void) => Promise<void>
->resolve : (value?: MyModule.MyModel[] | PromiseLike<MyModule.MyModel[]>) => void
+>(resolve, reject) => {    let result: Array<MyModule.MyModel> = [];    let populateItems = (order) => {      return new Promise((resolve, reject) => {        this.doStuff(order.id)          .then((items) => {            order.items = items;            resolve(order);          });      });    };    return Promise.all(result.map(populateItems))      .then((orders: Array<MyModule.MyModel>) => {        resolve(orders);      });    } : (resolve: (value: MyModule.MyModel[] | PromiseLike<MyModule.MyModel[]>) => void, reject: (reason?: any) => void) => Promise<void>
+>resolve : (value: MyModule.MyModel[] | PromiseLike<MyModule.MyModel[]>) => void
 >reject : (reason?: any) => void
 
     let result: Array<MyModule.MyModel> = [];
@@ -36,8 +36,8 @@ export class BrokenClass {
       return new Promise((resolve, reject) => {
 >new Promise((resolve, reject) => {        this.doStuff(order.id)          .then((items) => {            order.items = items;            resolve(order);          });      }) : Promise<unknown>
 >Promise : PromiseConstructor
->(resolve, reject) => {        this.doStuff(order.id)          .then((items) => {            order.items = items;            resolve(order);          });      } : (resolve: (value?: unknown) => void, reject: (reason?: any) => void) => void
->resolve : (value?: unknown) => void
+>(resolve, reject) => {        this.doStuff(order.id)          .then((items) => {            order.items = items;            resolve(order);          });      } : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void
+>resolve : (value: unknown) => void
 >reject : (reason?: any) => void
 
         this.doStuff(order.id)
@@ -65,7 +65,7 @@ export class BrokenClass {
 
             resolve(order);
 >resolve(order) : void
->resolve : (value?: unknown) => void
+>resolve : (value: unknown) => void
 >order : any
 
           });
@@ -93,7 +93,7 @@ export class BrokenClass {
 
         resolve(orders);
 >resolve(orders) : void
->resolve : (value?: MyModule.MyModel[] | PromiseLike<MyModule.MyModel[]>) => void
+>resolve : (value: MyModule.MyModel[] | PromiseLike<MyModule.MyModel[]>) => void
 >orders : MyModule.MyModel[]
 
       });
diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types
index c9a0476c2adcf..7847fa8d6b90a 100644
--- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types
+++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types
@@ -138,8 +138,8 @@ async function out() {
     return new Promise(function (resolve, reject) {});
 >new Promise(function (resolve, reject) {}) : Promise<unknown>
 >Promise : PromiseConstructor
->function (resolve, reject) {} : (resolve: (value?: unknown) => void, reject: (reason?: any) => void) => void
->resolve : (value?: unknown) => void
+>function (resolve, reject) {} : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void
+>resolve : (value: unknown) => void
 >reject : (reason?: any) => void
 }
 
diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types
index a695213a42ccd..fbaeabadf6fef 100644
--- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types
+++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types
@@ -138,8 +138,8 @@ async function out() {
     return new Promise(function (resolve, reject) {});
 >new Promise(function (resolve, reject) {}) : Promise<unknown>
 >Promise : PromiseConstructor
->function (resolve, reject) {} : (resolve: (value?: unknown) => void, reject: (reason?: any) => void) => void
->resolve : (value?: unknown) => void
+>function (resolve, reject) {} : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void
+>resolve : (value: unknown) => void
 >reject : (reason?: any) => void
 }
 
diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types
index 3e7c23fde87ac..e11ad3030a58a 100644
--- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types
+++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types
@@ -138,8 +138,8 @@ async function out() {
     return new Promise(function (resolve, reject) {});
 >new Promise(function (resolve, reject) {}) : Promise<unknown>
 >Promise : PromiseConstructor
->function (resolve, reject) {} : (resolve: (value?: unknown) => void, reject: (reason?: any) => void) => void
->resolve : (value?: unknown) => void
+>function (resolve, reject) {} : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void
+>resolve : (value: unknown) => void
 >reject : (reason?: any) => void
 }
 
diff --git a/tests/baselines/reference/usePromiseFinally.types b/tests/baselines/reference/usePromiseFinally.types
index b704e54231cfd..8ed8c267154a5 100644
--- a/tests/baselines/reference/usePromiseFinally.types
+++ b/tests/baselines/reference/usePromiseFinally.types
@@ -5,8 +5,8 @@ let promise1 = new Promise(function(resolve, reject) {})
 >new Promise(function(resolve, reject) {})                .finally : (onfinally?: () => void) => Promise<unknown>
 >new Promise(function(resolve, reject) {}) : Promise<unknown>
 >Promise : PromiseConstructor
->function(resolve, reject) {} : (resolve: (value?: unknown) => void, reject: (reason?: any) => void) => void
->resolve : (value?: unknown) => void
+>function(resolve, reject) {} : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void
+>resolve : (value: unknown) => void
 >reject : (reason?: any) => void
 
                 .finally(function() {});