I seem to be (incorrectly?) getting an error "Spread types may only be created from object types" for a case where the type in question is constrained as object.
Example here
When I hover over the offending call site:

The data property is of a type T where T extends object, so why am I not allowed to spread it's properties to a new object?
The code works as intended, I just can't seem to figure out what's required to get rid of the error message. I could just cast it as any of course, but that seems dirty?