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

    check_supported_events_narrow_filter(narrow)
    def narrow_filter(event):
        message = event['message']
        flags = event['flags']
        for element in narrow:
            operator = element[0]
            operand = element[1]
            if (operator == 'stream'):
                if (message['type'] != 'stream'):
                    return False
                if (operand.lower() != message['display_recipient'].lower()):
                    return False
            elif (operator == 'topic'):
                if (message['type'] != 'stream'):
                    return False
                if (operand.lower() != message['subject'].lower()):
                    return False
            elif (operator == 'sender'):
                if (operand.lower() != message['sender_email'].lower()):
                    return False
            elif ((operator == 'is') and (operand == 'private')):
                if (message['type'] != 'private'):
                    return False
            elif ((operator == 'is') and (operand in ['starred'])):
                if (operand not in flags):
                    return False
            elif ((operator == 'is') and (operand == 'unread')):
                if ('read' in flags):
                    return False
            elif ((operator == 'is') and (operand in ['alerted', 'mentioned'])):
                if ('mentioned' not in flags):
                    return False
        return True
    return narrow_filter

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

def build_narrow_filter(narrow):