I've got a Product interface (with name, ...) and like to keep changes to these products with a Change interface. A Change is a Product and all properties of Product prefixed with the word previous.
Not that creating the type manually would be a big deal - but I feel like you can create a type for this. My current approach is something like:
type Previous<T> = T extends /* all properties of T prefixed with `previous` */
Any ideas?