Эта структура удобна для хранения дат, времени или даты/времени, относящихся к локальной временной зоне (иначе — UTC).
Смысл второго абзаца немного искажен. В оригинале говорится о том что время можно хранить либо локальное либо UTC. Нету разницы пока не учавствует смещение.
Такое иногда делают в качестве поясняющей переменной. В книге Рефакторинг, Мартина Фаулера этот прием хорошо описан. См: (Introduce Explaining Variable)
Нет, обычно новая копия содержит ссылку на измененную часть и постоянную часть исходной структуры. Никакого лишнего копирования не происходит при этом.
Смысл второго абзаца немного искажен. В оригинале говорится о том что время можно хранить либо локальное либо UTC. Нету разницы пока не учавствует смещение.
Нет, раньше не натыкался. Как у него с производительностью?
Я так подозреваю что на небольших объектах не стоит тратить время на emit.