There are only so many ways to write "C, but better," or "C++, with fewer warts."
Any languages that want to be recognizable to people comfortable with the C-lineage are going to converge on a lot of points.
And some of the bad ideas are also there.
Zero values is just bad
Like what? I'm seeing that the Union is by-type and not by-name (such as C vs Rust enums). I didn't see good support for preventing null pointers, but maybe I missed that. And it wasn't clear if RAII works.