Node (splitElement.X, buildTreeFromSortedArray leftX leftY (depth + 1), buildTreeFromSortedArray rightX rightY (depth + 1))
else
let downY, upY = Array.splitAt ((pYSorted.Length + 1) / 2) pYSorted
let splitElement = Array.last downY
Node (splitElement.X, buildTreeFromSortedArray leftX leftY (depth + 1), buildTreeFromSortedArray rightX rightY (depth + 1))
else
let downY, upY = Array.splitAt ((pYSorted.Length + 1) / 2) pYSorted
let splitElement = Array.last downY