export function find( haystack: number[], needle: number, start: number = 0, end: number = haystack.length - 1 ): number | never { if (start > end || end < start) { throw new Error("Value not in array"); } const index = start + Math.floor((end - start) / 2); const value = haystack[index]; if (needle > value) { return find(haystack, needle, index + 1, end); } if (needle < value) { return find(haystack, needle, start, index - 1); } return index; }