Closed
Description
See #23328 for context; the SDK uses EfficientLengthIterable to decide whether an Iterable is backed by something that can quickly return "length". Because non-SDK libraries cannot access EfficientLengthIterable they are always treated as not having efficient "length", leading to extra work.
It's not clear what could be done to fix this, but if there's any way to do it with 2.0, that would be great.