thank you!
It's funny, loading a .so/.dll was our initial approach to the problem. we found that this didn't work for us for two reasons.
1. Security/packaging problems. Security problem is self-explanatory, and for packaging binaries in SDKs we ran into a lot of issues with languages that don't have first-class support for binaries. It was particularly problematic in golang. 2. Iteration time: waiting for a cross-compilable binary each time we wanted to create a new SDK was a huge testing issue. we needed to build in a way that let us test our outputted SDKs in seconds rather than minutes. we now have a testing pipeline that runs in less than a minute on a bunch of live APIs
so we've gone with an approach that uses a combination of custom macros + templating