Parallel_arraysSourceinclude sig ... endThe following "parallel array" types are distinct from normal arrays because their elements must always be portable and must never share unsynchronized state.
This is the case when the element type 'a crosses portability and contention, or when the array elements are portable and live in separate capsules (that is, were returned at portable uncontended from portable functions).
To work with a pre-existing array whose element type does not cross portability and contention, the elements may be wrapped in Modes.Portended.t or Capsule.Data.t as applicable.