human
I wrote the below code

    if (not (isinstance(msgType, list) or isinstance(msgType, tuple))):
        msgType = [msgType]
    def _msg_register(fn):
        for _msgType in msgType:
            if isFriendChat:
                self.functionDict['FriendChat'][_msgType] = fn
            if isGroupChat:
                self.functionDict['GroupChat'][_msgType] = fn
            if isMpChat:
                self.functionDict['MpChat'][_msgType] = fn
            if (not any((isFriendChat, isGroupChat, isMpChat))):
                self.functionDict['FriendChat'][_msgType] = fn
        return fn
    return _msg_register

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

def msg_register(self, msgType, isFriendChat=False, isGroupChat=False, isMpChat=False):