I think ucontext is an excellent starting point for a general implementation. You just abstract it with a thin veneer and adopt faster implementations as needed where applicable.
I realize the Forth & Lisp heritage might be a bit hard on the brain for those who haven't been exposed before, but what you're asking for is otherwise more or less what Cixl is aiming for.
> To build Cixl yourself, you'll need a reasonably modern GCC and CMake installed.
I was very taken aback by this. Really? Why do you really need to depend on the cmake monstrosity? It's just a few lines of C without dependencies that they are distributing!
If there is something about cixl that will scare people is the ridiculous dependence on cmake, not its clean syntax.
(I'm genuinely curious about the answer to this question - I'm also looking for something similar to C)
Why do you consider it too big?