[boost] Why use numeric_traits<int>::difference_type in counting_iterator? Throws warnings that I'd rather treat as errors