[@Aleksey] Very good point!  I'd missed that vector does the SOA->AOS business too.  (I thought that was just Repa & Accelerate.)

In any case, an unboxed vector of tuples can't actually support atomic CAS anyway, so not supporting it is inevitable.
   It does mean that exposeMutableByteArray can't be a method of the Unbox class.  It would need to be another class capturing the subset of vector types that are "Atomic" (support concurrent/atomic memory ops).