Neil Madden의 글은 sealed 타입과 완전한 패턴 매칭을 공개 라이브러리 API에 적용할 때의 호환성 함정을 설명한다. 새 하위 타입을 추가하면 기존 클라이언트를 다시 컴파일할 때 switch가 더 이상 완전하지 않을 수 있고, 재컴파일하지 않은 코드도 새 값을 만나면 MatchException이 발생할 수 있다. Java 언어 명세 역시 하위 타입 추가를 바이너리 호환 변경으로 보면서 실행 시의 마이그레이션 비호환 가능성을 명시한다. 한꺼번에 빌드하는 내부 모델과 외부에 배포하는 API는 버전 정책을 달리 검토할 필요가 있다.