add fallback for singledispatch