py3.8 provides it via functools module, so the dep can be made conditional. I would submit a patch upstream if not for the fact that they require CLA.
https://github.com/gentoo/gentoo/commit/5efec68e8204b9055637ae490bd959700f69391b
Thanks!