private static string SortOfStrings(ArbitraryType T1, ArbitraryType T2)
 {
     if (T1.SomeString1 == T2.SomeString1)
     {
         return("elementsAreEqual");
     }
     else if (T1.SomeString1 == null)
     {
         return("element1biggerthanelement2");
     }
     else if (T2.SomeString1 == null)
     {
         return("element1smallerthanelement2");
     }
     else if (T1.SomeString1.Length > T2.SomeString1.Length)
     {
         return("element1biggerthanelement2");
     }
     else if (T1.SomeString1.Length < T2.SomeString1.Length)
     {
         return("element1smallerthanelement2");
     }
     else if (T1.SomeString1.Length == T2.SomeString1.Length)
     {
         for (int i = 0; i < T1.SomeString1.Length; i++)
         {
             if (T1.SomeString1[i] > T2.SomeString1[i])
             {
                 return("element1biggerthanelement2");
             }
             else if (T1.SomeString1[i] < T2.SomeString1[i])
             {
                 return("element1smallerthanelement2");
             }
         }
         return("elementsAreEqual");
     }
     return("elementsAreEqual");
 }
 private static string SortOfNumbers(ArbitraryType T1, ArbitraryType T2)
 {
     if (T1.SomeNumber1 == T2.SomeNumber1)
     {
         return("elementsAreEqual");
     }
     else if (T1.SomeNumber1 == 0)
     {
         return("element1biggerthanelement2");
     }
     else if (T2.SomeNumber1 == 0)
     {
         return("element1smallerthanelement2");
     }
     else if (T1.SomeNumber1 > T2.SomeNumber1)
     {
         return("element1biggerthanelement2");
     }
     else
     {
         return("element1smallerthanelement2");
     }
 }