[Python-ideas] Consider allow functools.singledispatch to work with typing.Union?