forVector2 number_ $ \xs ys -> Vector.dot xs ys == Matrix.multiply (Matrix.singleRow xs) (Matrix.singleColumn ys) ! ((),())
QC.forAll (QC.choose (1,100)) $ \dim -> QC.forAll (QC.choose (0, dim-1)) $ \i -> QC.forAll (QC.choose (0, dim-1)) $ \j -> Vector.dot (Vector.unit (shapeInt dim) i) (Vector.unit (shapeInt dim) j) == (fromIntegral (fromEnum (i==j)) :: Number_)