let mark_to_prop_to_called_output _call called_pdg =
      if PdgTypes.Pdg.is_top called_pdg then
        begin
          let kf = PdgTypes.Pdg.get_kf called_pdg in
          called_top := kf :: !called_top; 
          debug 1 "memo call to TOP '%a'" Kernel_function.pretty kf;
          (fun _ _ -> None)
        end
      else 
        fun _n m -> match m with
        | trueM.Glob -> Some (trueM.Loc)
        | trueM.Loc -> Some m
        | _ -> fatal "cannot propagate invisible mark@."