mk_preamble st what script
 
 and proc_other st what =
+   let _, dtext = test_depth st in
    let text = Printf.sprintf "%s: %s" "UNEXPANDED" (string_of_head what) in
-   let script = [T.Note text] in
+   let script = [T.Apply (what, dtext ^ text)] in 
    mk_preamble st what script
 
 and proc_proof st t = 
       let steps, nodes = T.count_steps 0 ast, T.count_nodes 0 ast in
       let text = Printf.sprintf "tactics: %u\nnodes: %u" steps nodes in
       if st.skip_thm_and_qed then ast
-      else T.Theorem (Some s, t, "") :: ast @ [T.Qed text]
+      else T.Theorem (`Theorem, Some s, t, "") :: ast @ [T.Qed text]
    | _                                                               ->
       failwith "not a theorem"
 
 
 
 (****************************************************************************)
 
+type flavour  = Cic.object_flavour
 type name     = string option
 type hyp      = string
 type what     = Cic.annterm
 type pattern  = Cic.annterm
 
 type step = Note of note 
-          | Theorem of name * what * note
+          | Theorem of flavour * name * what * note
           | Qed of note
          | Id of note
          | Intros of count option * name list * note
 let mk_thnote str a =
    if str = "" then a else mk_note "" :: mk_note str :: a
 
-let mk_theorem name t =
+let mk_theorem flavour name t =
    let name = match name with Some name -> name | None -> assert false in
-   let obj = N.Theorem (`Theorem, name, t, None) in
+   let obj = N.Theorem (flavour, name, t, None) in
    G.Executable (floc, G.Command (floc, G.Obj (floc, obj)))
 
 let mk_qed =
 
 let rec render_step sep a = function
    | Note s                  -> mk_notenote s a
-   | Theorem (n, t, s)       -> mk_theorem n t :: mk_thnote s a 
+   | Theorem (f, n, t, s)    -> mk_theorem f n t :: mk_thnote s a 
    | Qed s                   -> mk_qed :: mk_tacnote s a
    | Id s                    -> mk_id sep :: mk_tacnote s a
    | Intros (c, ns, s)       -> mk_intros c ns sep :: mk_tacnote s a
 
 
 (****************************************************************************)
 
+type flavour  = Cic.object_flavour
 type name     = string option
 type hyp      = string
 type what     = Cic.annterm
 type pattern  = Cic.annterm
 
 type step = Note of note 
-          | Theorem of name * what * note
+          | Theorem of flavour * name * what * note
           | Qed of note
          | Id of note
          | Intros of count option * name list * note