An optional u32, using u32::MAX to represent None. It would be nicer
just to use Option<u32> for this, but that would produce word alignment
issues since Option<u32> uses 33 bits.
Alternative to CollectionFilter that provides elements directly via
a custom iterator, rather than filtering a tree traversal. This is more
efficient when the collection’s elements can be enumerated directly
(e.g. selectedOptions iterating only the select’s list of options).