@schmee Good question, open a ticket? Here's my notes:

- bsearch appears to be standard even in C89, so Vim must have a reason to avoid it. 
- MSVC includes bsearch: `C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\crt\src\bsearch.c`
- this article (worth reading) claims that the function pointer is expensive: http://www.longacre-scm.com/blog/index.php/2010/10/crossing-over
- maybe the 15 implementations you found could be replaced by macros. Here's one by our very own aktau: https://gist.github.com/aktau/8225628