let rec get_state kf =
    let sglobal = RteGlobalTbl.get_state kf in
    match find_all kf with
    | [] ->
      add (Kernel_function.get_name kf) kf [ sglobal ] () ;
      get_state kf
    | [ _, s ] -> s
    | _ -> assert false