2. "Bug" "fixed": when the pullback of two coercions is computed, only the
   join is returned, but not the two coercions that complete the pullback.
   Thus we need to recompute them and it may happen that we find more than one
   parallel coercions. This "fix" just randomly picks the first one (instead
   of raising an assert false). All this stuff must be handled in a better way.
                         | [] -> raise exn
                         | _::_::_ ->
 prerr_endline ("1: NON DOVEVA SUCCEDERE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
+let m1::m2::_ = meets in
+prerr_endline ("M1 = " ^ CoercDb.name_of_carr m1 ^ "\nM2 = " ^ CoercDb.name_of_carr m2);
 assert false
                         | [m] -> 
                           let last_tl1',(subst,metasenv,ugraph) =
                                  CoercGraph.look_for_coercion' metasenv subst
                                   context m car2
                                 with
-                                 | CoercGraph.SomeCoercion [metasenv,last,coerced]
+                                   (*CSC: bu here: I am considering only the first one*)
+                                 | CoercGraph.SomeCoercion ((metasenv,last,coerced)::_)
                                    ->
                                     last,
                                     fo_unif_subst test_equality_only subst context