@classmethod<EOL><INDENT>def _make_dispatch(cls, func):<DEDENT>
sig = signature(func)<EOL>matchers = tuple(cls._make_all_matchers(sig.parameters.items()))<EOL>return (partial(cls._bind_args, sig, matchers), func)<EOL>
Create a dispatch pair for func- a tuple of (bind_args, func), where
bind_args is a function that, when called with (args, kwargs), attempts
to bind those args to the type signature of func, or else raise a
TypeError