입력 소비와 결과 생산 방향을 한 signature에 함께 표현한다.
T 또는 T의 부모를 받을 수 있다.
R 또는 R의 자식을 만들 수 있다.
넓은 소비자를 재사용한다.
결과를 R로 안전하게 읽는다.
핵심: generic은 기본 invariant이며 wildcard가 안전한 변화를 명시한다.