불변 값의 변경 연산

원본을 고치지 않고 새 valid state를 생성한다.

  1. Original

    완성된 StudySession

    stable
  2. with method

    새 입력과 invariant 검사

    transition
  3. New value

    변경된 field를 가진 record

    snapshot
  4. Both usable

    과거와 현재를 동시에 비교

    history

핵심: 이미 같은 상태라면 this를 반환해 불필요한 allocation을 피할 수 있다.