add shrink prim-op for other array type
This issue arised in the recently PR to bring unified array interface to primitive: https://github.com/haskell/primitive/pull/64 . In that PR andrewthad ask if we want to keep shrinkArr
API. My guts feeling says it's possible for other type of array as well since it's just the same closure overwrite thing. So i'm asking for adding such prim-op here.
I suppose we should provide getSizeOfXXX
prim-op which consume a state token for other array type as well since the array size is not referential transparent now.