public static IEnumerable <T> AsBuffer <T>(this IEnumerable <T> This) { if (This is T[]) { return(This); } if (This is List <T> ) { return(This); } return(This.Buffer()); }