public static Func <int, Symbol> CrossProduct(Func <int, Operator> lhs, Func <int, Symbol> rhs)
 {
     return(VectorUtilities.CrossProduct(lhs, rhs, (x, y) => x - y, (x, y) => x * y));
 }
 public static Func <int, T> CrossProduct <T>(Func <int, T> lhs, Func <int, T> rhs, IOperations <T> operations)
 {
     return(VectorUtilities.CrossProduct(lhs, rhs, (x, y) => operations.Subtract(x, y), (x, y) => operations.Multiply(x, y)));
 }