 +          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, desc, Trec_not)
++          Sig_module (id, trim_signature desc, Trec_not)
 +      | Pkind_modtype ->
 +          let path, desc = Typetexp.find_modtype env loc lid in
 +          Sig_modtype (id, desc)

 
 let dir_untrace_all ppf () =
   List.iter
@@ -305,10 +306,55 @@
     !traced_functions;
   traced_functions := []
 

   with Arg.Bad err -> fprintf ppf "%s.@." err
 
+(* Typing information *)
+
+let rec trim_modtype = function
+    Mty_signature _ -> Mty_signature []
+  | Mty_functor (id, mty, mty') ->
+      Mty_functor (id, mty, trim_modtype mty')
+  | Mty_ident _ as mty -> mty
+
+let trim_signature = function
+    Mty_signature sg ->
+      Mty_signature
+        (List.map
+           (function
+               Sig_module (id, mty, rs) ->
+                 Sig_module (id, trim_modtype mty, rs)
+             (*| Sig_modtype (id, Modtype_manifest mty) ->
+                 Sig_modtype (id, Modtype_manifest (trim_modtype mty))*)
+             | item -> item)
+           sg)
+  | mty -> mty
+
+let dir_show ppf kind {Location.loc; txt=lid} =
+  let env = !Toploop.toplevel_env in
