code: def use_mutation(module_path, operator, occurrence):
      
      original_code, mutated_code = apply_mutation(module_path, operator,
                                                   occurrence)
      try:
          yield original_code, mutated_code
      finally:
          with module_path.open(mode='wt', encoding='utf-8') as handle:
              handle.write(original_code)
              handle.flush()
docs: A context manager that applies a mutation for the duration of a with-block.
  
      This applies a mutation to a file on disk, and after the with-block it put the unmutated code
      back in place.
  
      Args:
          module_path: The path to the module to mutate.
          operator: The `Operator` instance to use.
          occurrence: The occurrence of the operator to apply.
  
      Yields: A `(unmutated-code, mutated-code)` tuple to the with-block. If there was
          no mutation performed, the `mutated-code` is `None`.