```d void issorted(R)(R r){ foreach(a,b;r.slide(2)){ if(a>b){return false;} } return true; } ```the first pair of elements to be unsorted make issorted false; but my current `reduce` uses `last` which eagerly goes to the end of the list
---I can imagine 3 possible solutions(all ugly) for writing "shortablereduce" so it can implement lazier `issorted`; but roughly what would others expect? Is there a clean idea someone has?