"ez egészen addig nem derül ki, amíg a megfelelő függvényt nem hívom meg"
Ez nem feltétlen bug, inkább feature.
Utálnám ha egy konténer tipus megkövetelné az operator<-t mert van egy sort metódusa, amit én sose használok, de emiatt a saját típusomat nem tarthatnám a konténerben...
"A sablon specifikációjából nem tudom, hogy mit használ, csak ha soronként megnézem a kódját."
Jól megválasztott sablonparaméter nevekkel (RandIter, stb) és megfelelő dokumentációval a probléma fel sem merül.
Egyébként meg a Boost-ban vannak jó kis makrók erre, úgyhogy most is megoldható. Persze az új szabvánnyal tisztább szárazabb érzés, de ez leginkább a hibaüzeneteknél lesz segítség, de pl pont ez a "csak akkor szól ha használom" tudtommal nem fog változni.
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o