The OpenGL API itself is weakly typed even for a C language API,
simply exposing absolutely everything as a
float,
int, or untyped pointer. Entire classes
of problems that should be prevented at compile time are moved to
run-time, increasing development time, developer frustration, and
testing burden.