public static BitVector64 ToBitVector(this BitString src, N64 n) => BitVector64.FromBitString(src);
public static BitVector64 BitVector(this IPolyrand random, N64 n) => random.Next <ulong>();
public static BitVector64 ToBitVector(this long src, N64 n) => (ulong)src;
public static BitVector64 ToBitVector(this ulong src, N64 n) => src;
public static BitVector64 ToBitVector(this uint src, N64 n) => src;
public static BitVector64 ToBitVector(this int src, N64 n) => (uint)src;
public static BitVector64 ToBitVector(this short src, N64 n) => (ushort)src;
public static BitVector64 ToBitVector(this sbyte src, N64 n) => (byte)src;
public static BitVector64 ToBitVector <N, T>(this BitVector <N, T> src, N64 n) where T : unmanaged where N : ITypeNat, new() => src.Data.TakeUInt64();
public static BitVector64 ToBitVector <T>(this BitVector <T> src, N64 n) where T : unmanaged => src.Data.TakeUInt64();
public static BitMatrix64 BitMatrix(this IPolyrand random, N64 n) => Z0.BitMatrix64.From(random.Array <ulong>(64));