Goal: Implement a generic `MyReadonly2<T, K>` which takes two type arguments `T` and `K`. `K` specify the set of properties of `T` that should set to `readonly`. When `K` is not provided, it should make all properties `readonly`, just like the normal `Readonly<T>`. For example: Source challenge: https://github.com/type-challenges/type-challenges/tree/main/questions/00008-medium-readonly-2 Reference explanation: https://github.com/ghaiklor/type-challenges-solutions/blob/main/en/medium-readonly-2.md