By experimentation, I have figured out that the module can be made to build by removing the conformances to SearchableBidirectionalCollection
and its inherited BidirectionalPattern
from Data
and several of String
’s view types (which defeats the purpose). What these types appear to have in common is that SubSequence == Self
and/or that Element
is concrete. The other types that appear to successfully conform either have a distinct SubSequence
or have conditional conformance based on a generic Element
(e.g. Array where Element: Equatable
).