Miren, se que los puristas de C++ moderno se la pasan llorando con el type safety y que cositas como templates o smart pointers te salvan la vida, pero seamos sinceros por un segundo. La verdadera adrenalina de programar a bajo nivel se pierde cuando el compilador te lleva de la mano como si fueras un nene de jardin. Usar void* para absolutamente todo, desde pasar argumentos a un thread hasta estructurar una base de datos en memoria, es la forma mas pura de interactuar con el silicio. Obvio que vas a meter un segfault cada tres compilaciones, pero esa sencacion de debugear con gdb a pelo sin saber si lo que estas leyendo es un float o un puntero a funsion es inigualable. Aparte, piensen en el acoplamiento. Si todo es un puntero generico, tu codigo se vuelve ultra modular de un plumazo porque a las funciones les chupa un huevo lo que les pases mientras tenga el tamaño correcto en bytes. El compilador pasa a ser tu empleado en vez de tu jefe, y si le pifiaste al cast en runtime, bueno, a llorar a la iglesia o a revisar el dump de memoria como un verdadero programador. Los leo, se que me van a saltar al cuello con el tema de la seguridad pero aca vinimos a jugar al limite.