private static void Main()
 {
     var tmp2 = new List<List<List<List<string>>>>();
     var tmp = new List<List<List<string>>>
         {
             new List<List<string>>
             {
                 new List<string>
                 {
                     "1",
                     "2",
                     "3"
                 },
                 new List<string>
                 {
                     "4"
                 }
             },
             new List<List<string>>
             {
                 new List<string>
                 {
                     "5",
                     "6",
                     "7"
                 }
             }
         };
     Console.WriteLine(ListExtensions.Depth<List<List<List<List<string>>>>>());
     Console.WriteLine(tmp2.Depth());
     Console.WriteLine(tmp2.Implode());
     Console.WriteLine(tmp.Depth());
     Console.WriteLine(tmp.Implode());
   
     Console.ReadLine();
 }