public static TIntegral Read <TIntegral>(this IReadablePinSeries pinSeries)
            where TIntegral : struct
        {
            var bitArray = new BitArray(pinSeries.Length);

            for (var i = 0; i < pinSeries.Length; i++)
            {
                bitArray[i] = pinSeries[i];
            }

            //Thanks SO
            //https://stackoverflow.com/questions/5283180/how-can-i-convert-bitarray-to-single-int

            TIntegral[] array = new TIntegral[1];
            bitArray.CopyTo(array, 0);
            return(array[0]);
        }
 public static int Read(this IReadablePinSeries pinSeries)
 {
     return(Read <int>(pinSeries));
 }