On Monday, 17 October 2022 at 11:02:07 UTC, FeepingCreature wrote: > Trolling a bit: Should this invariant always hold? > > assert(equal(range.retro.array, range.array.retro)); No, it shouldn't. The first expression might consume `range`. So it might be empty in the second expression.