zipWith([1, 2, 3], [4, 5, 6], (a, b) => a + b) // β [5, 7, 9]zipWith combines two arrays element-by-element using a provided combining function.
Challenge: Implement zipWith<T, U, R>(a: T[], b: U[], fn: (x: T, y: U) => R): R[] combining two arrays element-wise using a function.
zipWith([1,2,3], [4,5,6], (a,b) => a + b) // β [5, 7, 9]