- INCORRECT RESPONSE - SEE COMMENTS - bb
FWIW, it was not my observation that the STL was written to be especially easy to read, necessarily, but it is beautifully simple; in this case, the only possible way to get the same result would be
return (a <= b) ? a : b;
which would be another character, and, IMHO, actually not so easy to read. Also, see @Shahbaz's comment above on sorting stability. Operations such as min have clear behaviors for inclusiveness and exclusivity.
TL DR, because Less is not the same as Less or Equal
See comments below - this answer will be correct, like a macro in C, but actually incorrect in C ++ for the reasons described in the comments below. I mark this as incorrect, but leave it because the comments are useful and important for understanding. I apologize if I confuse the problem for everyone.
source share