text: //// [genericFunctionsWithOptionalParameters1.ts]
  interface Utils {
     fold<T, S>(c?: Array<T>, folder?: (s: S, t: T) => T, init?: S): T;
  }
  
  var utils: Utils;
  
  utils.fold(); // no error
  utils.fold(null); // no error
  utils.fold(null, null); // no error
  utils.fold(null, null, null); // no error
  
  
  //// [genericFunctionsWithOptionalParameters1.js]
  var utils;
  utils.fold(); // no error
  utils.fold(null); // no error
  utils.fold(null, null); // no error
  utils.fold(null, null, null); // no error
  