public float nextFloatInRange(FRange range, out Rng newState) => floatToFloatInRange(range, nextFloat(out newState));
public static Fn <Rng, Tpl <Rng, float> > nextFloatInRangeS(FRange range) => rng => rng.nextFloatInRangeT(range);
static float floatToFloatInRange(FRange range, float v) => range.from + (range.to - range.from) * v;
public Tpl <Rng, float> nextFloatInRangeT(FRange range) => nextFloatT.map2(v => floatToFloatInRange(range, v));
public static float lerpVal(this FRange range, float t) => Mathf.Lerp(range.from, range.to, t);