seL4, a third-generation microkernel is 8,700 lines of C code and 600 lines of assembler.
http://web1.cs.columbia.edu/~junfeng/09fa-e6998/papers/sel4....
So we also empirically know that you can formally verify a microkernel written in C. Now if the Fuchsia folks had gone ahead and formally verified their microkernel, this issue would be moot. But they haven't. So we are instead left with std::shared_ptr offers more guarantees than *. While this isn't nothing, it isn't much either.