Creates a type based on the given type T, but with all readonly properties made writable.
type Mutable<T> = { -readonly [P in keyof T]: T[P];}