what a meat bat <| sep |> Nah , my username got me banned there with no other context . I just wanted to MAGA . <| sep |> I am deleting all the prefixes on the main file , Season Pass and DLCs for the next installer release . A VIS and DefUI patch will follow later . <| sep |> Well , there ' s two parts to wrapping C APIs . 1 Knowing how to design a C API which not everyone can knock out of the park and is definitely a learned skill . You can definitely jumpstart it with Martin Reddy ' s book API Design in C 2 Knowing C API design choices and how those might translate to C . Keep in mind that there are effectively 3 ways to wrap C APIs Thin wrappers for lifetime uniqueptr with a custom deleter A full RAII object something that might hold a uniqueptr Full types that wrap the C API in its entirety , but do not use inheritance and expect to be used in a composable wayPart of the reason I wrote the retainptr proposal was so I could have a thin wrapper option just the retainptr for APIs that use reference counting , instead of needing a full wrapper object . I definitely need to get around to releasing my SQLite wrapper that I ' ve been using off and on for a few years now . I personally think it ' s a good example of how to wrap a C library , and might help people coming to C from an inheritance focused language . On the subject of getting into C , I recommend it if you think knowing the whole picture would help . It certainly can ' t hurt to know C , especially because it is such a huge difference from C . Once you know quite a bit of C , you can see certain design decisions for C interop while learning C , like why we can technically do struct Foo foo in C , but it is just easier to do Foo foo . I hope this helps . It ' s late where I am right now