code: def connect(self, slot):
          
          if not callable(slot):
              raise ValueError("Connection to non-callable '%s' object failed" % slot.__class__.__name__)
  
          if (isinstance(slot, partial) or '<' in slot.__name__):
              # If it's a partial or a lambda. The '<' check is the only py2 and py3 compatible way I could find
              if slot not in self._slots:
                  self._slots.append(slot)
          elif inspect.ismethod(slot):
              # Check if it's an instance method and store it with the instance as the key
              slotSelf = slot.__self__
              slotDict = weakref.WeakKeyDictionary()
              slotDict[slotSelf] = slot.__func__
              if slotDict not in self._slots:
                  self._slots.append(slotDict)
          else:
              # If it's just a function then just store it as a weakref.
              newSlotRef = weakref.ref(slot)
              if newSlotRef not in self._slots:
                  self._slots.append(newSlotRef)
docs: Connects the signal to any callable object