Biblioteca de tipos de datos de variantes para C

¿Existe una biblioteca C de código abierto decente para almacenar y manipular
variables dinámicamente tipadas (también conocidas como variantes)? Me interesan principalmente los valores atómicos (int8, int16, int32, uint, strings, blobs, etc.), mientras que las matrices y objetos de estilo JSON, así como los objetos personalizados, también serían buenos. Un caso importante en el que una biblioteca de este tipo sería útil es trabajar con bases de datos SQL.

La característica más obvia de dicha biblioteca sería un tipo único para todos los valores admitidos, por ejemplo:

struct Variant {
    enum Type type;
    union {
        int8_t int8_;
        int16_t int16_;
        // ...
    };
};

Otras características pueden incluir convertir objetos Variant a / desde estructuras C (usando una tabla de enlace), convertir valores a / desde cadenas e integración con una biblioteca de base de datos existente como SQLite.

Nota: No creo que esta pregunta sea un duplicado de¿Alguna biblioteca para tipos de datos genéricos en C? , que se refiere a "colas, árboles, mapas, listas". De lo que estoy hablando se enfoca más en hacer que trabajar con bases de datos SQL sea tan fácil como trabajar con ellos en lenguajes interpretados.

Respuestas a la pregunta(4)

Su respuesta a la pregunta