These functions seem useful:
scanl :: SNatI n => (b -> a -> b) -> b -> Vec n a -> Vec ('S n) b
scanr :: SNatI n => (a -> b -> b) -> b -> Vec n a -> Vec ('S n) b
scanl1 :: SNatI n => (a -> a -> a) -> Vec ('S n) a -> Vec ('S n) a
scanr1 :: SNatI n => (a -> a -> a) -> Vec ('S n) a -> Vec ('S n) a
Do you think they should be added?