code: def send(signal=Any, sender=Anonymous, *arguments, **named):
      
      # Call each receiver with whatever arguments it can accept.
      # Return a list of tuple pairs [(receiver, response), ... ].
      responses = []
      for receiver in liveReceivers(getAllReceivers(sender, signal)):
          response = robustapply.robustApply(
              receiver,
              signal=signal,
              sender=sender,
              *arguments,
              **named
          )
          responses.append((receiver, response))
      return responses
docs: Send signal from sender to all connected receivers.
      
      signal -- (hashable) signal value, see connect for details
  
      sender -- the sender of the signal
      
          if Any, only receivers registered for Any will receive
          the message.
  
          if Anonymous, only receivers registered to receive
          messages from Anonymous or Any will receive the message
  
          Otherwise can be any python object (normally one
          registered with a connect if you actually want
          something to occur).
  
      arguments -- positional arguments which will be passed to
          *all* receivers. Note that this may raise TypeErrors
          if the receivers do not allow the particular arguments.
          Note also that arguments are applied before named
          arguments, so they should be used with care.
  
      named -- named arguments which will be filtered according
          to the parameters of the receivers to only provide those
          acceptable to the receiver.
  
      Return a list of tuple pairs [(receiver, response), ... ]
  
      if any receiver raises an error, the error propagates back
      through send, terminating the dispatch loop, so it is quite
      possible to not have all receivers called if a raises an
      error.