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)]