pub fn mul_vector_transpose<V, M>(v: V, m: M) -> V::Concrete where
M: ScalarArrayVal,
M::Row: Dim<V::Scalar> + Dim<<V::Scalar as Mul<M::Scalar>>::Output>,
M::Dim: Dim<V::Scalar> + TwoDim<V::Scalar, M::Row>,
V: VecArrayVal<Row = M::Dim> + HasConcreteVecArray<<<V as ScalarArray>::Scalar as Mul<M::Scalar>>::Output, M::Row>,
V::Scalar: Mul<M::Scalar> + Clone,
<V::Scalar as Mul<M::Scalar>>::Output: Add<Output = <V::Scalar as Mul<M::Scalar>>::Output>,
<V as HasConcreteScalarArray<<V::Scalar as Mul<M::Scalar>>::Output, M::Row>>::Concrete: ConcreteVecArray,
<M::Row as HasSmaller>::Smaller: Array<M::Scalar> + Array<V::Scalar> + Array<<V::Scalar as Mul<M::Scalar>>::Output>,
<M::Dim as HasSmaller>::Smaller: Array<V::Scalar> + Array<<M::Row as Array<M::Scalar>>::Type> + Array<<M::Row as Array<V::Scalar>>::Type>,