Document some template functions.
Don't shadow a method with a parameter.
Remove swapv in favour of std::swap
Move rather than copy in erase_any.

By moving rather than copying the last element into its new place.
Use make_pair when possible, emplace_back occasionally.