Unsafe is a normal part of the language, and how you manually implement precise control behind a safe reusable abstraction whose correct use can be verified by the compiler.
Do you have any examples of precise control you can express in C, but can't express in Rust?
And? That's what unsafe is for.