withVector :: CF a => V.Vector a -> (Ptr (Ptr (Repr a)) -> Int -> IO b) -> IO b
withVector v f =
  (S.unsafeWith (V.convert (V.map extractPtr v)) $ \buf -> f buf (V.length v))
  `finally` touch v
withVector :: CF a => V.Vector a -> (Ptr (Ptr (Repr a)) -> Int -> IO b) -> IO b
withVector v f =
  (S.unsafeWith (V.convert (V.map extractPtr v)) $ \buf -> f buf (V.length v))
  `finally` touch v
withVector v f =
  (S.unsafeWith (V.convert (V.map extractPtr v)) $ \buf -> f buf (V.length v))
  `finally` touch v