anchor.diff:                      let z' = (o :> Backend<float>).RepeatReshapeCopy_V_MCols(n, z)
                       BLAS.dgemm(1., x, y, 1., z')
                       z'
  -            member o.Mul_Had_M_M(x, y) = // Non-BLAS
  +            // Non-BLAS
  +            member o.Mul_Had_M_M(x, y) =
                   if Array2D.isEmpty x then
                       Array2D.zeroCreate (Array2D.length1 y) (Array2D.length2 y)
                   elif Array2D.isEmpty y then
                       Array2D.zeroCreate (Array2D.length1 x) (Array2D.length2 x)
                   else
                       (o :> Backend<float>).Map2_F_M_M((*), x, y)
  +            // BLAS
               member o.Mul_M_V(x, y) =
                   if Array2D.isEmpty x then
                       Array.empty
  
positive.code:                     let z = Array.zeroCreate (Array2D.length1 x)
                      BLAS.sgemv(1.f, x, y, 0.f, z)
                      z
              member o.Mul_M_V_Add_V(x, y, z) =
                  if Array2D.isEmpty x then
                      Array.empty
  
negative.code:                         | Some(inv) -> Some(inv)
                          | _ -> None
                      | _ -> None
              // LAPACK
              member o.Det_M(x) =
                  if Array2D.isEmpty x then
                      Some(0.f)
  