It occurs to me that this definition works in any `InnerSpace`; perhaps we should generalize it.