code: def organize_commands(corrected_commands):
      
      try:
          first_command = next(corrected_commands)
          yield first_command
      except StopIteration:
          return
  
      without_duplicates = {
          command for command in sorted(
              corrected_commands, key=lambda command: command.priority)
          if command != first_command}
  
      sorted_commands = sorted(
          without_duplicates,
          key=lambda corrected_command: corrected_command.priority)
  
      logs.debug('Corrected commands: '.format(
          ', '.join(u'{}'.format(cmd) for cmd in [first_command] + sorted_commands)))
  
      for command in sorted_commands:
          yield command
docs: Yields sorted commands without duplicates.
  
      :type corrected_commands: Iterable[thefuck.types.CorrectedCommand]
      :rtype: Iterable[thefuck.types.CorrectedCommand]