let get_internal =
  Internals.memo
    (fun kf ->
       !Value.compute ();
       Inout_parameters.feedback "computing for function %a%s"
         Kernel_function.pretty_name kf
         (let s = ref "" in
          Stack.iter
            (fun kf -> s := !s^" <-"^
               (Pretty_utils.sfprintf "%a" Kernel_function.pretty_name kf))
            call_stack;
          !s);
       let res =
         match kf.fundec with
         | Definition _ ->
             compute_internal_using_cfg kf
         | Declaration _ ->
             compute_internal_using_prototype kf
       in
       Inout_parameters.feedback "done for function %a"
         Kernel_function.pretty_name kf;
       res)