While discussing an improved IO interface for uvector, Bryan O’Sullivan made the following request:

<pumpkin_> bos: well, dons said it would be nice to have
                an O(1) conversion from UArrs to strict
                ByteStrings and back again
<dons> i'm not sure its possible though :)
<bos> pumpkin_: yes, it would be nice. i would also like a pony.

And of course, this being Haskell, you can have a pony! Though it might be more abstract  than what you were expecting.