Differences between Storable and Unboxed Vectors
问题 So ... I've used unboxed vectors (from the vector package) preferably now without giving it much consideration. vector-th-unbox makes creating instances for them a breeze, so why not. Now I ran into an instance where it is not possible for me to automatically derive those instances, a data type with phantom type parameters (as in Vector (s :: Nat) a , where s encodes the length). This made me think about the differences between Storable and Unboxed vectors. Things I figured out on my own: