docs: def generate_amr_lines(f1, f2):
      """
      Read one AMR line at a time from each file handle
      :param f1: file handle (or any iterable of strings) to read AMR 1 lines from
      :param f2: file handle (or any iterable of strings) to read AMR 2 lines from
      :return: generator of cur_amr1, cur_amr2 pairs: one-line AMR strings
      """
      while True:
          cur_amr1 = amr.AMR.get_amr_line(f1)
          cur_amr2 = amr.AMR.get_amr_line(f2)
          if not cur_amr1 and not cur_amr2:
              pass
          elif not cur_amr1:
              print("Error: File 1 has less AMRs than file 2", file=ERROR_LOG)
              print("Ignoring remaining AMRs", file=ERROR_LOG)
          elif not cur_amr2:
              print("Error: File 2 has less AMRs than file 1", file=ERROR_LOG)
              print("Ignoring remaining AMRs", file=ERROR_LOG)
          else:
              yield cur_amr1, cur_amr2
              continue
          break