Module and using libraries

Having done some work on the MySQL extension and reviewing how binding to libraries is done in for example the sqlite3.r by Ashley (dobeash) (reminder it is something like

 *open:				make routine! [name [string!] db-handle [struct! [[integer!]]] return: [integer!]] *lib "sqlite3_open"

) and it is done similarly on the other side, then I wondered why there is no such mechanism in R3 /Ren-C

(Or is it just that I don't know about it?)

As I understand it, Rebol 2's library interface was based on some outdated, homogeneous assumptions and that FFI support is required to do anything close to the same in modern environments. I've enquired about this as I felt my rewrite of the SQLite driver would be low-hanging fruit for conversion (if only because it isolated the core components fairly neatly, at least in my opinion). However, despite much wrangling (and I am not a C-head so limited), I was never able to get the FFI extension to work in any build that I configured or downloaded.

Perhaps something like https://en.wikipedia.org/wiki/SWIG can help?

What I mean more precisely is that it is possible to program the interface using C like the extensions are programmed nowadays. But this way when the interface changes the core work must be revisited. Where creating new bindings dynamically using a tool would be easier to adapt to new versions.

Luckily most interfaces are pretty stable and as their devs do not want to break existing applications. But there will be progress and change.