Six of them were bound, linked, and had never been called by anything. That is the state a wrong argument order survives indefinitely: the link succeeds, the program runs, and the answer is nonsense that nobody has looked at. An audit for wrappers with no caller is worth doing after any binding lane. All six turned out to be correct, which is worth recording either way - the point of the audit is not that it finds bugs but that it converts "probably fine" into "called, and the answer checked". Each has a case that must come out the other way, because a predicate that always said yes would pass a single one. The one that earns the most is the polygon, the only binding here that crosses a slice, so the only place ptr+len has to arrive as raylib's pointer and count. Everything else about it would pass with a hardcoded count or with the pointer alone; the same point against the same array with three corners instead of four is what pins the length. Verified by hardcoding the count in the shim and watching it go the wrong way.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%