let array_exists (_predicate: '-> bool) (_array: 'a array) : bool =

  let rec do_array_exists (index: int) : bool =
    if index >= Array.length _array then
      false
    else if _predicate _array.(index) then
      true
    else
      do_array_exists (index + 1)
  in

    do_array_exists 0