Either는 절대로 동시에 발생하지 않는 두 값 a, b를 논리적으로 구분한 자료구조 다음 두 경우를 모형화한 형식
- Left (a): 에러 메시지 또는 예외 객체를 담는다.
- Right (b): 성공한 값을 담는다.
Either는 오른쪽 피연산자를 중심으로 작동 컨테이너에 함수를 매핑하면 항상 하위형 Right (b)에 적용
보통 Either는 어떤 계산 도중 실패할 경우 그 원인에 관한 추가 정보를 결과와 함께 제공할 목적으로 사용 복구 불가한 예외가 발생한 경우, 덜질 예외 객체를 왼쪽에 두는 것
Either는 예외가 날지 모를, 예측하기 어려운 (자신 또는 다른 사람이 작성한) 함수로부터 코드를 보호하기 위해 사용 예외를 퍼뜨리지 않고 일찌감치 없애버려 좀 더 형식에 안전하고 부수효과 없는 함수로 만들자는 것