human
Here's a good function header given the following:
I wrote the below code

    if isinstance(sig, str):
        parsed = _parse_signature_string(sig)
    else:
        parsed = sig
    if isinstance(parsed, tuple):
        (args, return_type) = (parsed, None)
    elif isinstance(parsed, typing.Signature):
        (args, return_type) = (parsed.args, parsed.return_type)
    else:
        raise TypeError(('invalid    signature:    %r    instance    not    allowed' % (sig.__class__.__name__,)))
    def check_type(ty):
        if (not isinstance(ty, types.Type)):
            raise TypeError(('invalid    signature:    expected    a    type    instance,    got    %r' % (ty,)))
    if (return_type is not None):
        check_type(return_type)
    for ty in args:
        check_type(ty)
    return (args, return_type)

What's a good function header?
assistant
#Here's a good function header.

def normalize_signature(sig):