I'd like to hash this out a bit further. As this issue affects vector primarily, it is outside of the scope of the core library committee per se, and is largely up to Roman as the maintainer of vector.
That said if I put on my personal and not my 'committee' hat:
I would use these operations, personally, were they available to me.
The question is how to best expose them from an API perspective.
Vector currently exposes enough (or at least almost enough) of the implementation details that such support could be implemented 'out-of-line' from the main library. (I think the Data.Vector.Primitive constructor is currently not exported, and you'd need that.)
I don't think Roman would object too strenuously to exporting it though and I've personally wanted it for other reasons. This would open the door to this sort of thing being something you might supply entirely outside of the library, giving the final placement of the code some flexibility.
You could handle CAS operations for Primitive and boxed Vectors pretty easily at least, leaving off Unboxed and my various hybrid vector approaches as they are intrinsically tied to working on multiple underlying source vectors.
I'm pretty open to ideas about where the instances should live though. One argument for putting it in vector is you could extend Prim with the CAS operations directly rather than subclass it. An argument against is it could then iterate on a more flexible time table.
-Edward