/// <summary> /// Divide the Somes. If either of the options are None then the result is None /// For numeric values the behaviour is to divide the Somes (lhs / rhs) /// For Lst values the behaviour is to divide all combinations of values in both lists /// to produce a new list /// Otherwise if the R type derives from IDivisible then the behaviour /// is to call lhs.Divide(rhs); /// </summary> /// <param name="lhs">Left-hand side of the operation</param> /// <param name="rhs">Right-hand side of the operation</param> /// <returns>lhs / rhs</returns> public static Option <T> divide <T>(Option <T> lhs, Option <T> rhs) => lhs.Divide(rhs);
public static Option <T> divide <NUM, T>(Option <T> lhs, Option <T> rhs) where NUM : struct, Num <T> => lhs.Divide <NUM, T>(rhs);