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
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.