Single-pass fuse는 관찰 가능한 계약을 보존할 때만 안전하다
중간 List를 없애면서 함수 순서나 호출 횟수, 예외 시점을 바꾸면 같은 결과 값이어도 같은 프로그램이 아닙니다.
| 보존 조건 | fuse 전 | fuse 후 |
|---|---|---|
| 원소 순서 | source 순서 | 동일 |
| predicate 횟수 | 원소당 1회 | 동일 |
| mapper 조건 | 선택 원소만 | 동일 |
| 예외 시점 | 단계별 | 원소 처리 중 |
| 중간 결과 노출 | 외부 비공개 | 없음 |
핵심: 최적화 전후의 관찰 축을 표로 대조합니다.