maybe done with Data/Vector/Generic/Mutable.nocpp.hs