Some kinds of objects can be ordered using comparison operators such as <=, etc., but are not equal; in other words, a <= b and a >= b does not mean a = b.
In particular, Strings and Symbols are comparable using <=, etc., and can be used as the indexed element within a single index. In this case, Strings and Symbols are mixed together in the comparison order within the internal btree, and index streaming will stream over a mixed collection.
Strings and Symbols with the same contents, however, are not equal using =. When performing a query using =, the indexed results should only include results of the appropriate class. This is handled correctly in query results returned as a collection, but indexed streams (using BtreeReadStream) could return both Strings and Symbols with the matching contents.
Last updated: 6/5/15