Functools

Since we're everywhere on Python 2.6 or higher, this should no longer be needed,