I am incrementally building some collection style classes for PHP, but you don't have to know PHP to answer this question, and I wanted as many responses as possible.

At the most basic level, I have an IEnumerable/Enumerable which merely allows for iteration and count funtionality on the underlying array. The next level up will introduce basic array acces (using []'s) to get/set/unset values, but will contain no custom add/contains/indexof/valueat style operations. The latter methods will be reserved for final implementations that will enforce either integer indexes or string keys.

The two final elements I originally wanted were Collection and Dictionary, but I needed a good name for the class that comes between them and enumerable. I considered using Set/ISet, but I began to wonder if I ought to swap collection and set. So here's the question:

Which terms sounds most volatile, and which sounds most strict? Collection or Set?

Collection -> Set -> Enumerable
or
Set -> Collection -> Enumerable

I know it's really a matter of semantics. I'll work either way. However, I'd like to keep the meanings as close to the intended as possible.

Thanks!