Имеется ввиду typename std::iterator_traits<RandIter>::value_type. И нужно оно для collinear_are_ordered_along_line (которую тоже надо сделать шаблонной), а не для ориентации.