Halway through implementing every collection type