the 3.3 one is fixed, i took the latest one straight from the stdlib