let remove_assoc l x = 
    let rec remove_rec ll = match ll with 
      | [] -> []
      | (u,v)::c -> if (u=x) then c else
          (u,v)::(remove_rec c)
    in l := remove_rec (!l)