наверное, запутало то, что функция возвращает функцию.
inBetween(a, b)
возвращает функцию, заточенную под конкретные a
и b
.
И уже эта свежесозданная функция используется в качестве фильтра для arr.filter()
.
На вход возвёрнутой функции и будет попадать (item, index)