API 응답은 성공 또는 오류입니다
type ApiResponse = Success | Error
호출자는 아직 두 응답 중 어느 쪽인지 모릅니다.
response.status === "success"
식별 속성을 검사하면 data 또는 message 접근 범위가 좁혀집니다.
값이 여러 상태 중 하나로 바뀌면 유니온을, 한 값이 여러 능력을 동시에 가져야 하면 인터섹션을 선택합니다.
호출자는 아직 두 응답 중 어느 쪽인지 모릅니다.
식별 속성을 검사하면 data 또는 message 접근 범위가 좁혀집니다.
id와 email뿐 아니라 관리 메서드까지 모두 필요합니다.
같은 키의 타입이 충돌하면 사용할 수 없는 never로 수렴합니다.
성공 응답과 오류 응답처럼 런타임 상태가 하나만 선택됩니다.
유니온은 공통 멤버만 바로 쓰고, 분기 후 고유 멤버를 사용합니다.
인터섹션은 빠진 속성이 있으면 객체 전체가 계약을 만족하지 못합니다.