Moving the initialization (and destruction) to part 1d makes this about as short and easy to analyze as possible. Any more technical observations?