function indexOf (arr, el, fn) {
    for (let i = 0; i < arr.length; i++) {
      if (fn(arr[i], el)) {
        return i
      }
    }
    return -1
  }
Finds the index of an element in an array using a custom equality function
@template T
@param {Array<T>} arr array in which to search
@param {T} el the element to find
@param {function(T, T): boolean} fn the equality function, first argument is an element of `arr`, the second is always `el`
@returns {number} the index of `el`, or -1 when it's not in `arr`