public static IArray <T> TakeWhile <T>(this IArray <T> self, Func <T, bool> p) { return(Take(self, self.CountWhile(p))); }
public static IArray <T> SkipWhile <T>(this IArray <T> self, Func <T, bool> p) { return(Skip(self, self.CountWhile(p))); }
public static bool All <T>(this IArray <T> self, Func <T, int, bool> p) { return(self.CountWhile(p) == self.Count); }