Use TypeScript's built-in utility types to implement two config-update helpers.
1. `applyDefaults<T>(defaults: T, overrides: Partial<T>): T`
Merges overrides into defaults. Properties in overrides overwrite defaults.
2. `requireAll<T>(config: Partial<T>): config is Required<T>`
Returns true if every value in the config is not undefined.
Examples
applyDefaults({ host: 'localhost', port: 3000 }, { port: 8080 }) → { host: 'localhost', port: 8080 }requireAll({ a: 1, b: 2 }) → truerequireAll({ a: 1, b: undefined }) → falseSample tests