결과 값만 보면 같아도 present일 때 fallback 함수가 호출되는지는 다릅니다.
호출 전에 항상 create 실행
empty일 때만 실행
둘 다 기존 값 반환
핵심: 비싼 계산과 side effect는 orElseGet에 넣습니다.