在vue3的源码里有这么一个类型 type UnwrapRefSimple = T extends Function | BaseTypes | Ref | RefUnwrapBailTypes[keyof RefUnwrapBailTypes] | { [RawSymbol]?: true; } ? T : T extends Map ? Map> & UnwrapRef>> : T extends WeakMap ? WeakMap> & UnwrapRef>> : T extends Set ? Set> & UnwrapRef>> : T extends WeakSet ? WeakSet> & UnwrapRef>> : T extends ReadonlyArray ? { [K in keyof T]: UnwrapRefSimple; } : T extends object & { [ShallowReactiveMarker]?: never; } ? { [P in keyof T]: P extends symbol ? T[P] : UnwrapRef; } : T; 这里当`UnwrapRefSimple>`时,会有一步是`Omit>`,也就是 Omit, keyof Map> 这一步得到的结果不是{}吗? 也就是当`UnwrapRefSimple>`最终得到的类型是 Map & Omit, keyof Map> 即`Map & {}` 为什么要和{}交叉类型呢?