A couple of quick questions:
If I have a function that accepts an array as input via an openarray, do the array get copied when you call the function, or no?
Is it possible to write a function using generics, or otherwise, that can accept a sequence OR an array, in an efficient manner?
do the array get copied when you call the function
No.
accept a sequence OR an array, in an efficient manner
openArray is the way.