optional для объктов с нетривиальным конструктором: реализация swap
Последовательность разностей (кроме корректного оператора ++)