C is more flexible on the performance and memory usage side.
That's my point. Abstractions are great, I love Lisp and Haskell. The problem of more complexity isn't completely solved by using better abstractions, because you still need to look at the performance and memory usage, as long we have a limit there.
"Note that I didn't state that there would be MORE abstraction, only that it
would be DIFFERENT abstractions."
That doesn't makes sense. What should be a different abstraction of C? If
you've an other syntax for the C pointer arithmetic it's still the same
abstraction.
If you can do still the same things, then it's still the same abstraction.
You can only combine multiple abstractions in one language, but I think
that's not a good idea.
"You can have different abstractions compared to what C has and still retain
the granularity of control you want."
I don't think so, because you would add the complexity of both, the higher
abstraction parts and the C parts. You would generate a language which is
harder to master than their component parts.
I don't think this is true. You might lose some, you might get some, in a different place, with greatly lowered brainload.
Or are you going to argue that lisps are less flexible than C?