Dynamic and Heterogeneous Vectors in C

Implementing a std::vector equivalent in C with dynamic resizing and support for heterogeneous data types using tagged unions.