Span<T> is safer than ArraySegement<T> as it only allows access to a window of array, rather than full array with a "request" to only look at offset->length
Span<T> is better than Array as it also comes with ReaOnlySpan<T> for a view with readonly array elements; whereas Array is always read/write.