invert - this is not in C-API, and maybe we should use this trick for other magic methods too?