six
singledispatch