TODO: Explore name mangling and the
The Cherno has a video which explains the linker quite well.
TODO: mention exception safety and why unwinding across the FFI behaviour is a bad idea
TODO: Talk about why Cstring.as_ptr() is unsafe because you are passing back a dangling pointer.
TODO: Talk about how it's UB to create a Rust enum from an integer with an invalid variant