mapObject({ a: 1, b: 2 }, v => v * 10) // β { a: 10, b: 20 }mapObject transforms every value in an object using a mapping function, preserving the keys.
Challenge: Implement mapObject<T extends object, U>(obj: T, fn: (k: keyof T, v: T[keyof T]) => U): Record<keyof T, U> transforming both keys and values.
mapObject({ a: 1, b: 2 }, (k, v) => v * 10) // β { a: 10, b: 20 }