- check_number(): this is not the right way; it will return True for lists and tuples! I realize interp_itertools.py is wrong as well. In C PyNumber_Check() tests for the presence of int or float.
- "CPython raises a TypeError when next() is not defined": you could use the built-in next() function, instead of the method call.
- compress() is missing a docstring.
Note that lib_pypy/itertools.py is, as the comment at the top says, not used at all by normal pypy's. I will accept this pull request, but then immediately kill lib_pypy/itertools.py as not really useful to have around and maintain.
cbjadwani: sorry to basically kill your work by removing itertools.py. If you want to optimize pypy/module/itertools instead, you are welcome: we did not spend much efforts e.g. making the tee lists as efficient as CPython's.