public static T Choose <T>(this Random random, T a, T b, T c, T d) { return(Calc.GiveMe <T>(random.Next(4), a, b, c, d)); }
public static T Choose <T>(this Random random, T a, T b) { return(Calc.GiveMe <T>(random.Next(2), a, b)); }
public static T Choose <T>(this Random random, T a, T b, T c, T d, T e, T f) { return(Calc.GiveMe <T>(random.Next(6), a, b, c, d, e, f)); }
public static T Choose <T>(this FastRandom random, T a, T b, T c, T d, T e, T f) => Calc.GiveMe <T>(random.NextInt(6), a, b, c, d, e, f);
public static T Choose <T>(this FastRandom random, T a, T b, T c, T d) => Calc.GiveMe <T>(random.NextInt(4), a, b, c, d);
public static T Choose <T>(this FastRandom random, T a, T b) => Calc.GiveMe <T>(random.NextInt(2), a, b);