### Write a function that performs an immutable update on a field of an object.
- The function may not modify the object.
- If the update function returns an identical value to the one held in the original object, the function must return the original object.
```typescript!
type Fn<A,B> = (x: A) => B;
const modify = <T extends object, K extends keyof T>(key: K) => (mod: Fn<Readonly<T[K]>,T[K]>) => (obj: Readonly<T>): T => {
};
```
### Talk about the various types of rendering for React.
- client side
- server side
- static site generation