=== tests/cases/compiler/genericFunctionsWithOptionalParameters1.ts === interface Utils { >Utils : Symbol(Utils, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 0)) fold(c?: Array, folder?: (s: S, t: T) => T, init?: S): T; >fold : Symbol(fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 8)) >S : Symbol(S, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 10)) >c : Symbol(c, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 14)) >Array : Symbol(Array, Decl(lib.d.ts, 1000, 23), Decl(lib.d.ts, 1171, 11)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 8)) >folder : Symbol(folder, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 27)) >s : Symbol(s, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 38)) >S : Symbol(S, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 10)) >t : Symbol(t, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 43)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 8)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 8)) >init : Symbol(init, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 55)) >S : Symbol(S, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 10)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 8)) } var utils: Utils; >utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters1.ts, 4, 3)) >Utils : Symbol(Utils, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 0)) utils.fold(); // no error >utils.fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17)) >utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters1.ts, 4, 3)) >fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17)) utils.fold(null); // no error >utils.fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17)) >utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters1.ts, 4, 3)) >fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17)) utils.fold(null, null); // no error >utils.fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17)) >utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters1.ts, 4, 3)) >fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17)) utils.fold(null, null, null); // no error >utils.fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17)) >utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters1.ts, 4, 3)) >fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17))