let compute_impact (main_ui:Design.main_window_extension_points) s =
  main_ui#protect 
    (fun () -> 
       let impact = !Db.Impact.from_stmt s in
    SelectedStmt.set s;
    List.iter HighlightedStmtState.add impact;
    if Slicing.get () then !Db.Impact.slice impact;
    Enabled.set true;
    main_ui#rehighlight ())