let strings_diffs s1 s2 =
  let (f1, f2) =
    try
      let f1 = Filename.temp_file "odiff" ".txt" in
      file_of_string ~file: f1 s1;
      let f2 = Filename.temp_file "odiff" ".txt" in
      file_of_string ~file: f2 s2;
      (f1,f2)
    with Sys_error s -> failwith s
  in
  let final () =
    (try Sys.remove f1 with _ -> ());
    (try Sys.remove f2 with _ -> ())
  in
  try_finalize (files_diffs f1) f2 final ()