public static TryOptionAsync <T> product <NUM, T>(TryOptionAsync <T> lhs, TryOptionAsync <T> rhs) where NUM : struct, Num <T> => lhs.Product <NUM, T>(rhs);