시간·파일·DB를 함수 안에서 직접 읽으면 signature에 보이지 않는 입력이 생깁니다.
명시 입력→값 · 같은 입력 같은 결과
clock·I/O·mutation · 외부 상태 변화
effect result를 값으로 변환
핵심: 효과는 바깥 shell에서 수행하고 core에는 값으로 전달합니다.