docs: def OrEvent(*events):
      '''
      Parameters
      ----------
      events : list(threading.Event)
          List of events.
  
      Returns
      -------
      threading.Event
          Event that is set when **at least one** of the events in :data:`events`
          is set.
      '''
      or_event = threading.Event()
  
      def changed():
          '''
          Set ``or_event`` if any of the specified events have been set.
          '''
          bools = [event_i.is_set() for event_i in events]
          if any(bools):
              or_event.set()
          else:
              or_event.clear()
      for event_i in events:
          # Override ``set`` and ``clear`` methods on event to update state of
          # `or_event` after performing default behaviour.
          orify(event_i, changed)
  
      # Set initial state of `or_event`.
      changed()
      return or_event