I think this would be a case where it's better to just use a multidimensional array - the MidiList is a pretty small container which gets it's performance / usability advantages by limiting on numbers (its even not storing floating point, but simple 16bit integers). Making its slots dynamically resizable would defeat any performance advantage - you just end up with another multipurpose container type like the array :)