std::list<T>のeraseってT取れないはずだが。。。