Spire could have a type class implementing the vector cross product, which I would call something like EuclideanVectorSpace or EuclideanCoordinateSpace. This is an operation that is only suitable for 3 dimensional vector spaces and it is often used in physics.
I have done a preliminary implementation, offering a method angle as well. As the current CoordinateSpace might be replaced, it would be interesting to bring the cross product operation along with the replacement, or in a subproject from Spire.