function foo<T extends object>(t: T): T { return { ...(t as object) } as T; }
... doc.payload.doc.data() as {}
function foo<T extends object>(t: T): T { return { ...t // Error: [ts] Spread types may only be created from object types. } }