If we use a `Num` constraint here instead of `VectorSpace`, can we get rid of the `Scalar (Scalar v) ~ Scalar v` constraint in `R2Ish`?