- 同値なものがあったときに常に最初の要素を返す
 - min,maxのそれぞれを求めようとすると 2回走査して処理が無駄
 
ってことで、1つ目の制約の補足として以下が用意された
- first_min_element
 - last_min_element
 - first_max_element
 - last_max_element
 
first_min_element, first_max_elementは std::min_element/std::max_elementと同じ機能だが、対称性のために存在する模様。
さらに2つ目の制約への補足として以下も用意された。
- first_min_first_max_element
 - first_min_last_max_element
 - last_min_first_max_element
 - last_min_last_max_element
 
こちらは返り値として std::pair<Iterator, Iterator> を返す。