let add_ptr_reference_arg x n = 
  oracle "[ArgPRef] try + %a" pp_var_type x;
  if AnyVar.mem x then 
    (oracle "[ArgPRef] %a AnyVar"pp_var_type x;())
  else
    begin
      try 
        if not (fst (ArgPReference.find x) = n) then
          (oracle "[ArgPRef] remove %a : ko arity ->+AnyVar"
             pp_var_type x;
           ArgPReference.remove x; AnyVar.replace x ())
        else
          (oracle "[ArgPRef] %a already" pp_var_type x;())
      with Not_found ->
        (if ArgAReference.mem x then 
           (oracle "[ArgPRef] %a ArgARef : remove -> + AnyVar" 
              pp_var_type x;
            ArgAReference.remove x; AnyVar.add x ())
         else 
           (oracle "[ArgPRef] + %a"pp_var_type x;
            ArgPReference.add x (n,[])))
    end