I think what the parent means is we should be able to create syscall sandboxes within the same process (like a library not being able to do IO). Maybe I'm wrong but I think this could sort of be implemented with CHERI, by restricting syscalls to the official libc entry points (like OpenBSD) and requiring a capability pointer to access the functions.
.NET Framework tried that with their whole "security" system, but it was a massive failure.
The only fool-proof solution is separate address spaces and OS cooperation.