template<class InputIterator> using iter-value-type = typename iterator_traits<InputIterator>::value_type; // exposition only