Also kinda serves as a benchmark:
ledoian@Promethium /dev/pts/8 560 /home/ledoian/Dev/Carpet (master) $ time python3.10 eager.py
Out of 10000 games, 7158 won, 2842 lost.
real 0m43.314s
user 0m43.255s
sys 0m0.049s
ledoian@Promethium /dev/pts/8 561 /home/ledoian/Dev/Carpet (master) $ time python3.11 eager.py
Out of 10000 games, 7198 won, 2802 lost.
real 0m46.816s
user 0m46.434s
sys 0m0.067s
ledoian@Promethium /dev/pts/8 562 /home/ledoian/Dev/Carpet (master) $ time python3.12 eager.py
Out of 10000 games, 7226 won, 2774 lost.
real 0m42.048s
user 0m41.653s
sys 0m0.075s
ledoian@Promethium /dev/pts/8 563 /home/ledoian/Dev/Carpet (master) $ time pypy3 eager.py
Out of 10000 games, 7050 won, 2950 lost.
real 0m11.247s
user 0m11.085s
sys 0m0.158s