I would prefer UncheckedArray, since it's integrated directly into Nim and also because I personally it's semantics.
If you want to expose an API in a safer way UncheckedArrays also have the advantage that they can be [cast](https://nim-lang.org/docs/system.html#toOpenArray%2Cptr.UncheckedArray%5BT%5D%2Cint%2Cint) into openArrays