Linol_lsp.Array_viewSourcemake arr ~pos ~len can be thought of a new array for which the 0-th element is arr.(pos) and has length len if specified. If len is omitted, Array.length arr - pos is taken as the length. Importantly, the "new array" does not copy but simply references arr. Hence, creating views is constant time. However, keep in mind that since a view references an array, the array will be alive in memory as long as the view is alive.