functionshuffle(input: any[]):void{// Mutate array randomly changing its' elements indexes.}functioncallNTimes<Fnextends(...arguments_:any[])=>any>(func: Fn,callCount: number){// Type that represents the type of the received function parameters.typeFunctionParameters=Parameters<Fn>;returnfunction(...arguments_: FunctionParameters){for(leti=0;i<callCount;i++){func(...arguments_);}};}constshuffleTwice=callNTimes(shuffle,2);