add a TODO to make it a VectorSpace (if we can fit it into the type class)