docs: def save(
          project: 'projects.Project',
          write_list: typing.List[tuple] = None
  ) -> typing.List[tuple]:
      """
      Computes the file write list for the current state of the project if no
      write_list was specified in the arguments, and then writes each entry in
      that list to disk.
  
      :param project:
          The project to be saved
      :param write_list:
          The file writes list for the project if one already exists, or None
          if a new writes list should be computed
      :return:
          The file write list that was used to save the project to disk
      """
  
      try:
          writes = (
              to_write_list(project)
              if write_list is None
              else write_list.copy()
          )
      except Exception as err:
          raise
  
      environ.systems.remove(project.output_directory)
      os.makedirs(project.output_directory)
  
      file_io.deploy(writes)
      return writes