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