Estoy muy confuso acerca de la intersección de TypeScript, por ejemplo:
type A = 1 | 2; type B = 2 | 3; type AB = A & B; type C = { a: 1, b: 2 }; type D = { b: 2, c: 3 }; type CD = C & D;El tipo AB devuelve 2, esto es fácil de entender, pero por qué CD devuelve {a: 1, b: 2, c: 3}, según tengo entendido, CD debería devolver {b: 2}, porque una propiedad solo en C y c propiedad solo en D.