def _make_function_call_key(fn, args, kwargs):
    """Return a key for a cached function call."""
    return (
        '{fn.__module__}.{fn.__qualname__}'.format(fn=fn),
        tuple(args),
        tuple((k, v) for k, v in sorted(kwargs.items())),
    )