Non-interfering 실행은 source를 읽는 동안 구조를 바꾸지 않는다

pipeline 함수가 같은 collection을 add·remove하면 순회 결과와 실패가 구현 세부에 의존합니다.

pipeline 함수현재 source의 구조를 변경하는가

변경 안 함

non-interfering 실행

결과에 축적

별도 accumulator

source add/remove

금지·복사 후 실행

외부 mutable 상태

동기화보다 분리 우선

핵심: 상태 변경은 결과 collection이나 terminal 이후 명령으로 분리합니다.