-- foldl3D f v = f (f (vx3D v) (vy3D v)) (vz3D z)

innerProduct :: (LikeVector v, LikeNumber a) => v a -> v a -> a
innerProduct = fold (+) $$ zip (*)
innerProduct :: (LikeVector v, LikeNumber a) => v a -> v a -> a
innerProduct = fold (+) $$ zip (*)
innerProduct = fold (+) $$ zip (*)