I found this on StackOverflow but I don't understand how it has more than one generic type parameter.
type Writeable<T extends { [x: string]: any }, K extends string> = {
[P in K]: T[P];
}
Readonly only has one generic type parameter, so I want the same thing for Writable.
I figured TypeScript would have something built-in?