I was under the impression that bindings are intermediate layers you write so that you may use a library written in one language in an application written in another. It seems that Rust may call C with zero overhead
For a concrete example, Vulkan is a C API, yet people are working on bindings for Vulkan (1, 2, 3).
If C can be called directly from Rust, why would you want to create bindings? Have I misunderstood something?