transposeV vs@(v0:_) = map f [0..V.length v0 - 1]
    where f i = V.fromList (map (\v -> v ! i) vs)
transposeV vs@(v0:_) = map f [0..V.length v0 - 1]
    where f i = V.fromList (map (\v -> v ! i) vs)
transposeV vs@(v0:_) = map f [0..V.length v0 - 1]
    where f i = V.fromList (map (\v -> v ! i) vs)