public void UpdateTest()
        {
            const string data = "How now, brown cow?";
            var          list = data.Split().Aggregate(BinaryRandomAccessList <string> .Empty, (current, word) => BinaryRandomAccessList <string> .Cons(word, current));

            list = BinaryRandomAccessList <string> .Update(1, "green", list);

            Assert.AreEqual("green", BinaryRandomAccessList <string> .Lookup(1, list));
        }
        public void HeadTest()
        {
            const string data = "How now, brown cow?";
            var          list = data.Split().Aggregate(BinaryRandomAccessList <string> .Empty, (current, word) => BinaryRandomAccessList <string> .Cons(word, current));

            Assert.AreEqual("cow?", BinaryRandomAccessList <string> .Head(list));

            list = BinaryRandomAccessList <string> .Update(0, "dog?", list);

            Assert.AreEqual("dog?", BinaryRandomAccessList <string> .Head(list));
        }