let mark_and_propagate proj pdg node_marks =
    let rec apply_all rqs = match rqs with
      | [] -> ()
      | rq :: tl_rqs ->
          let new_rqs = apply_fct_rqs proj rq tl_rqs in
            apply_all new_rqs
    in apply_all [(pdg, PdgMarks.SelList node_marks)]