modify from multiset-0.2.2