public static BlockVector <N, T> BlockVec <N, S, T>(this IPolyrand random, Interval <S> domain, N n = default) where T : struct where S : struct where N : ITypeNat, new() => random.BlockVec <N, S>(domain).Convert <T>();
public static BlockVector <T> BlockVec <S, T>(this IPolyrand random, int len, Interval <S>?domain = null, T rep = default) where S : struct where T : struct => random.BlockVec <S>(len, domain).Convert <T>();