Ultimately, this is a bug in Cython, which upstream is aware of and should fix by Python 3.6. I reverted the change in upstream Python 3.5 (and 2.7) since it's technically a regression. Matthias has cherry picked the fix for Ubuntu's Python 3.5; I assume but am not sure if he's also done the same for Debian.