const obj = deepFreeze({ a: { b: 1 } })
Object.isFrozen(obj) // β true
Object.isFrozen(obj.a) // β truedeepFreeze recursively calls Object.freeze on every nested object to prevent mutation.
Challenge: Implement deepFreeze<T extends object>(obj: T): Readonly<T> that recursively freezes an object and all its nested objects.
const obj = deepFreeze({ a: { b: 1 } })
Object.isFrozen(obj.a) // β true