You frequently quote "progress, not perfection" in relation to the code, but why don't we apply this same principle to our threading guarantees?
Oh we should definitely apply progress not perfection here – in fact we already are: for starters (today), we bind concurrency to segments (so eg an "optimized" index has no concurrency), and we just use an ES (punt this thread scheduling problem to the caller). This is better than nothing, but not good enough – we can do better.
There's another quote that applies here: "big dreams, small steps". My comment above is "dreaming" but when it comes time to actually get the real work done / making progress towards that dream, of course we take baby steps / progress not perfection.
Design discussions should start w/ the big dreams but then once you've got a rough sense of where you want to get to in the future you shift back to the baby steps you do today, in the direction of that future goal.
Maybe I should wrap my comments in </dream> tags and </babysteps> tags!