  let _ =
    Hashtbl.add directive_table "trace" (Directive_ident (dir_trace std_out));
    Hashtbl.add directive_table "untrace" (Directive_ident (dir_untrace std_out));
-@@ -337,4 +383,7 @@
+@@ -337,4 +402,7 @@
               (Directive_string (parse_warnings std_out false));
  
    Hashtbl.add directive_table "warn_error"

   with Arg.Bad err -> fprintf ppf "%s.@." err
 
+(* Typing information *)
+
+let dir_show ppf kind {Location.loc; txt=lid} =
+  let env = !Toploop.toplevel_env in

+          Sig_exception (id, {exn_args=desc.cstr_args; exn_loc=Location.none})
+      | Pkind_module ->
+          let path, desc = Typetexp.find_module env loc lid in
+          Sig_module (id, trim_signature desc, Trec_not)
+      | Pkind_modtype ->
+          let path, desc = Typetexp.find_modtype env loc lid in
+          Sig_modtype (id, desc)
