public void FlatTests()
        {
            var a = new ArraySlice <int>(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);

            Console.WriteLine(a.ToString(flat: true));
            Assert.AreEqual("[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]", a.ToString(flat: true));
            a = ArraySlice <int> .Range(9).Reshape(3, 3);

            Console.WriteLine(a.ToString(flat: true));
            Assert.AreEqual("[[0, 1, 2], [3, 4, 5], [6, 7, 8]]", a.ToString(flat: true));
            a = ArraySlice <int> .Range(8).Reshape(2, 2, 2);

            Console.WriteLine(a.ToString(flat: true));
            Assert.AreEqual("[[[0, 1], [2, 3]], [[4, 5], [6, 7]]]", a.ToString(flat: true));
            a = ArraySlice <int> .Range(24).Reshape(2, 3, 4);

            Console.WriteLine(a.ToString(flat: true));
            Assert.AreEqual("[[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]]", a.ToString(flat: true));
            a = ArraySlice <int> .Range(24).Reshape(4, 3, 2);

            Console.WriteLine(a.ToString(flat: true));
            Assert.AreEqual("[[[0, 1], [2, 3], [4, 5]], [[6, 7], [8, 9], [10, 11]], [[12, 13], [14, 15], [16, 17]], [[18, 19], [20, 21], [22, 23]]]", a.ToString(flat: true));
        }