unsafe public static void Sort <T, U>(this NativeArray <T> array, U comp) where T : struct where U : IComparer <T>
 {
     IntroSort <T, U>(array.GetUnsafePtr(), array.Length, comp);
 }
 unsafe public static void Sort <T>(this NativeArray <T> array) where T : struct, IComparable <T>
 {
     IntroSort <T, DefaultComparer <T> >(array.GetUnsafePtr(), array.Length, new DefaultComparer <T>());
 }