I'm very sorry that I didn't stick around for very long after posting this, and so warranted such detailed second-guessing of my intentions. Apologies!
My intention was a mix: I had a specific problem where I was sure there would always be rubbish at both ends, but I was also curious about a function that would generally solve the "between" issue, which as I imagined it, would keep the middle, even if there was no rubbish at one of both ends.
This is luckily also what my example does, even though I hadn't tested it in that case!