ecatmur/singledispatch archive