Wow, I wish I had seen that previously.

Do you think it would be worth incorporating this code into utilities/binary_search.js?  I think using an iterative loop approach is more cpu and memory efficient than using recursion.