unsafeを使えばCを呼べるのに一体なぜCをRustに書き直すんだ