template methods of template classes weren't available when STL was made? That still isn't enough reason to skip genericity, and put static type methods in the classes, you could go with the old function outher, class inner