I know the standard library has its warts (find me a language with a standard library that doesn't) but I've always wondered why they felt the need to stuff two seemingly unrelated pieces of code into an include named "utility." Was there once a reason for this? Did this library once contain more things that were deemed helpful or became so fleshed out to warrant their own header files?
Basically what I'm trying to get my head around is what do pair, make_pair, and rel_ops have in common?