\ /   This software is distributed as is, NO WARRANTY.     
       V_______________________________________________________________ *)
 
-let debug s = prerr_endline (Lazy.force s) ;;
+(* let debug s = prerr_endline (Lazy.force s) ;;*)
 let debug _ = ();;
 
 let skel_dummy = NCic.Implicit `Type;;
 let src_tgt_cpos_arity_of_ty_id_src_tgt status ty id src tgt =
   let status, src, cpos = 
     let rec aux cpos ctx = function
-      | NCic.Prod (name,ty,bo) ->
+      | NCic.Prod (name,ty,bo) -> 
          if name <> id then aux (cpos+1) ((name,NCic.Decl ty)::ctx) bo
          else
            (try 
     let c_o_from_d = 
       product 
         (fun (n,mc,c,_,j) (n1,m1,t1,ty,i) -> 
-          compose_names n1 n,m1@mc,t1,[i,c],j,count_prod ty) 
+          compose_names n n1,m1@mc,t1,[i,c],j,count_prod ty) 
         [c] from_d
     in
     let to_s_o_c_o_from_d =
       product 
         (fun (n1,m1,t1,_,j) (n,m,t,upl,i,a)-> 
-          compose_names n n1,m@m1,t,(i,t1)::upl,j,a)
+          compose_names n1 n,m@m1,t,(i,t1)::upl,j,a)
         to_s c_o_from_d
     in
     to_s_o_c @ c_o_from_d @ to_s_o_c_o_from_d
          let src = only_head src in
          let tgt = only_head tgt in
          debug (lazy(
-           "composite: "^
+           "composite " ^ name ^ ": "^
            NCicPp.ppterm ~metasenv:[] ~subst:[] ~context:[] bo ^ " : " ^
            NCicPp.ppterm ~metasenv:[] ~subst:[] ~context:[] ty ^ " as " ^
            NCicPp.ppterm ~metasenv:[] ~subst:[] ~context:[] src ^ " ===> " ^