공유 참조만 필요하면 여러 번 호출 가능한 Fn으로
충분합니다.
closure
클로저 캡처 선택 점검표
클로저는 주변 값을 어떻게 쓰는지에 따라 캡처 방식과 호출 가능 트레이트가 달라집니다.
외부 상태를 누적하거나 갱신하면 FnMut 제약이
필요합니다.
캡처 값을 밖으로 이동하면 한 번 호출되는 FnOnce가
됩니다.
스레드나 async 작업처럼 수명이 갈라지는 위치에서는 소유권 이동을 명시합니다.