> Instead of pred2 for the above, I don't suppose this would work?:

It would hope it works. My own experience though is that DMD *tends* to have a bit more difficulty with lambdas than with named functions, both in terms of performance (trouble inlining), or correctness (issues with closures). I'm not sure how true this still is today, or will be tomorrow, but I've never had that kind of trouble with a named function. Also, because we always try to write lambdas to be as short as possible, we usually avoid thinking about the potential for pass by ref (lambdas are by-value by default). Writing it out as a fully named function tends to mean more work goes into the signature.

But it's a matter of prefrence. Lambdas are supposed to be the default, and what we want to be promoting. So either is fine by me.

> Do you think I should also use find for the stripRight versions?

I don't know. Once you put `retro` in there, you usually forfeit most special-cased optimized paths (for strings and arrays). So at best, it's just as fast as in a release build, but potentially slower in a non release (I'd guess).

So I'd we're fine if we leave it as is for stripRight.