Expand description
Sealed marker: types whose references iterate over &Self::Item.
Extract is blanket-implemented for these containers. Keeping the bound on a
local (sealed) trait instead of raw IntoIterator lets coherence prove that
tuples are disjoint, which is what makes the direct tuple impls below possible
without a newtype wrapper or nightly tuple_trait.