5573ce7b84
Makes `Iterable` a mixin class with a `const` constructor, and `IterableBase` and `IterableMixin` (to-be-deprecated) aliases for it. Combining everything in one place avoids (some) code duplication. Also gave the methods a quick overhaul for formatting, removing uses of `late` and unnecessary element accesses, and some general tweaks. CoreLibraryReviewExempt: Refactoring of redundant types. Tested: Refactoring. If existing tests work, it works. Change-Id: Ie49a88f713d386d2d118c53606a71bdd50e1eb11 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/287600 Reviewed-by: Brian Quinlan <bquinlan@google.com> Reviewed-by: Nate Bosch <nbosch@google.com>