True, but move isn't really a think in C. Generally, they come with icky macros to initialize static versions, and most things use them statically. But with Rust, even with: ```rust static MYSEM: Semaphore = Semaphore::new(0, 1); ``` there is a possible move from the value of the constructor into the static. Even without, there is no way to call the C initializer and make the value const.