diff --git a/src/ast2lic.ml b/src/ast2lic.ml
index fa99c6a0b3e51493017f1d1cb26a053514c06b24..551e8375fe6cf068e6da9a80ca13ab1ba9e0ef3b 100644
--- a/src/ast2lic.ml
+++ b/src/ast2lic.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 21/12/2012 (at 10:12) by Erwan Jahier> *)
+(* Time-stamp: <modified the 17/01/2013 (at 10:46) by Erwan Jahier> *)
 
 
 open Lxm
diff --git a/src/compile.ml b/src/compile.ml
index 1e751ec542d83c2a486791e5b10887e2bd7c4624..a03e36fbdfff7ff6c92b0cd5e1adc51e63f4bdce 100644
--- a/src/compile.ml
+++ b/src/compile.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 16/01/2013 (at 18:14) by Erwan Jahier> *)
+(* Time-stamp: <modified the 17/01/2013 (at 10:39) by Erwan Jahier> *)
 
 
 open Lxm
@@ -43,7 +43,7 @@ let (doit : AstV6.pack_or_model list -> Ident.idref option -> LicPrg.t) =
     (* élimination polymorphisme  surcharge *)
     let zelic = L2lRmPoly.doit zelic in
     (* alias des types array *)
-    let zelic = L2lAliasType.doit zelic in
+(*     let zelic = L2lAliasType.doit zelic in *)
     let zelic = if not !Global.inline_iterator then zelic else
         (* Array and struct expansion: to do after polymorphism elimination *)
         L2lExpandMetaOp.doit zelic 
diff --git a/src/l2lAliasType.ml b/src/l2lAliasType.ml
index bdf5403ebfc4a807facfc5ef0934852aff08bc2b..f9574e27eace0522a2b10d7e344923c6079873b3 100644
--- a/src/l2lAliasType.ml
+++ b/src/l2lAliasType.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 18/12/2012 (at 10:10) by Erwan Jahier> *)
+(* Time-stamp: <modified the 17/01/2013 (at 10:39) by Erwan Jahier> *)
 
 (**  
 Source 2 source transformation :
@@ -11,12 +11,12 @@ open Lic
 
 
 let doit (inp : LicPrg.t) : LicPrg.t =
-   (* n.b. on fait un minumum d'effet de bord pour
-      pas avoir trop d'acummulateur ... *)
+  (* n.b. on fait un minumum d'effet de bord pour
+     pas avoir trop d'acummulateur ... *)
   let atab = Hashtbl.create 10 in
   let res = ref inp in
 
-   (** UTILE : nommage des alias d'array *)
+  (** UTILE : nommage des alias d'array *)
   let array_ident ty sz =
     let tid = Lic.ident_of_type ty in
     let sfx = Printf.sprintf "%s_%d" (snd tid) sz in
@@ -24,7 +24,7 @@ let doit (inp : LicPrg.t) : LicPrg.t =
     id 
   in
 
-   (** UTILE : cherche/crée un alias de type *)
+  (** UTILE : cherche/crée un alias de type *)
   let rec alias_type te =
     match te with
       | Array_type_eff (ty, sz) -> (
@@ -32,32 +32,32 @@ let doit (inp : LicPrg.t) : LicPrg.t =
         let te = Array_type_eff (ty, sz) in
         try
           let ref_te = Hashtbl.find atab te in
-            (*
-              Verbose.printf "--> alias_type %s = %s ^ %d FOUND : %s\n"
-              (LicDump.string_of_type_eff te)
-              (LicDump.string_of_type_eff ty)
-              sz
-              (LicDump.string_of_type_eff ref_te);
-            *)
+          (*
+            Verbose.printf "--> alias_type %s = %s ^ %d FOUND : %s\n"
+            (LicDump.string_of_type_eff te)
+            (LicDump.string_of_type_eff ty)
+            sz
+            (LicDump.string_of_type_eff ref_te);
+          *)
           ref_te
         with Not_found -> (
           let id = array_ident ty sz in
           let ref_te = Abstract_type_eff (id, te) in
           res := LicPrg.add_type id ref_te !res;
           Hashtbl.add atab te ref_te; 
-            (*
-              Verbose.printf "--> alias_type %s = %s ^ %d NOT FOUND, gives: %s\n"
-              (LicDump.string_of_type_eff te)
-              (LicDump.string_of_type_eff ty)
-              sz
-              (LicDump.string_of_type_eff ref_te);
-            *)
+          (*
+            Verbose.printf "--> alias_type %s = %s ^ %d NOT FOUND, gives: %s\n"
+            (LicDump.string_of_type_eff te)
+            (LicDump.string_of_type_eff ty)
+            sz
+            (LicDump.string_of_type_eff ref_te);
+          *)
           ref_te 
         )
       ) | _ -> te
   in
 
-   (** TRAITE LES TYPES *)
+  (** TRAITE LES TYPES *)
   let do_type k te =
     let te' = match te with
       | Array_type_eff (tel, sz) ->
@@ -76,7 +76,7 @@ let doit (inp : LicPrg.t) : LicPrg.t =
   in
   LicPrg.iter_types do_type inp;
 
-   (** TRAITE LES CONSTANTES *)
+  (** TRAITE LES CONSTANTES *)
   let do_const k ec =
     let ec' = match ec with
       | Extern_const_eff (i, te) ->
@@ -97,14 +97,14 @@ let doit (inp : LicPrg.t) : LicPrg.t =
     in
     if (ec = ec') then ()
     else 
-         (* n.b. add=replace *)
+      (* n.b. add=replace *)
       res := LicPrg.add_const k ec' !res 
   in 
   LicPrg.iter_consts do_const inp ;
 
-   (** TRAITE LES NOEUDS *)
+  (** TRAITE LES NOEUDS *)
   let do_node k en =
-      (* n.b. les Lic.type_ apparraissent uniquement dans les var infos *)
+    (* n.b. les Lic.type_ apparraissent uniquement dans les var infos *)
     let do_var vi =
       let ty = alias_type vi.var_type_eff in
       {vi with var_type_eff = ty}
@@ -118,7 +118,7 @@ let doit (inp : LicPrg.t) : LicPrg.t =
           | None -> None
       )
     } in
-      (* on fait pas dans la dentelle, on remplace ... *)
+    (* on fait pas dans la dentelle, on remplace ... *)
     res := LicPrg.add_node k en' !res
   in
   LicPrg.iter_nodes do_node inp;
diff --git a/src/lic.ml b/src/lic.ml
index cd6bc313ab4c50b3822d161856f00b67474097de..cd9a18d65982cba4545baed73f9d0b7f54de3726 100644
--- a/src/lic.ml
+++ b/src/lic.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 14/01/2013 (at 14:01) by Erwan Jahier> *)
+(* Time-stamp: <modified the 17/01/2013 (at 10:40) by Erwan Jahier> *)
 
 
 (** Define the Data Structure representing Compiled programs. *)
diff --git a/test/lus2lic.sum b/test/lus2lic.sum
index 246afb49fce45cb70cea55238e5cb1faf08491ba..143b50090194f990bcc820b8d00f4df26d7544ab 100644
--- a/test/lus2lic.sum
+++ b/test/lus2lic.sum
@@ -1,4 +1,4 @@
-Test Run By jahier on Wed Jan 16 18:35:13 2013
+Test Run By jahier on Thu Jan 17 10:41:09 2013
 Native configuration is i686-pc-linux-gnu
 
 		=== lus2lic tests ===
@@ -28,7 +28,8 @@ PASS: ./lus2lic {-o /tmp/ck6.lic should_work/ck6.lus}
 PASS: ./lus2lic {-ec -o /tmp/ck6.ec should_work/ck6.lus}
 PASS: ec2c {-o /tmp/ck6.c /tmp/ck6.ec}
 PASS: ./lus2lic {-o /tmp/Gyroscope2.lic should_work/Gyroscope2.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/Gyroscope2.ec should_work/Gyroscope2.lus}
+PASS: ./lus2lic {-ec -o /tmp/Gyroscope2.ec should_work/Gyroscope2.lus}
+PASS: ec2c {-o /tmp/Gyroscope2.c /tmp/Gyroscope2.ec}
 PASS: ./lus2lic {-o /tmp/mouse2.lic should_work/mouse2.lus}
 PASS: ./lus2lic {-ec -o /tmp/mouse2.ec should_work/mouse2.lus}
 PASS: ec2c {-o /tmp/mouse2.c /tmp/mouse2.ec}
@@ -78,7 +79,8 @@ PASS: ./lus2lic {-o /tmp/call06.lic should_work/call06.lus}
 PASS: ./lus2lic {-ec -o /tmp/call06.ec should_work/call06.lus}
 PASS: ec2c {-o /tmp/call06.c /tmp/call06.ec}
 PASS: ./lus2lic {-o /tmp/deSimone.lic should_work/deSimone.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/deSimone.ec should_work/deSimone.lus}
+PASS: ./lus2lic {-ec -o /tmp/deSimone.ec should_work/deSimone.lus}
+PASS: ec2c {-o /tmp/deSimone.c /tmp/deSimone.ec}
 PASS: ./lus2lic {-o /tmp/bug2.lic should_work/bug2.lus}
 PASS: ./lus2lic {-ec -o /tmp/bug2.ec should_work/bug2.lus}
 PASS: ec2c {-o /tmp/bug2.c /tmp/bug2.ec}
@@ -95,7 +97,8 @@ PASS: ./lus2lic {-o /tmp/nc7.lic should_work/nc7.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc7.ec should_work/nc7.lus}
 PASS: ec2c {-o /tmp/nc7.c /tmp/nc7.ec}
 PASS: ./lus2lic {-o /tmp/predefOp.lic should_work/predefOp.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/predefOp.ec should_work/predefOp.lus}
+PASS: ./lus2lic {-ec -o /tmp/predefOp.ec should_work/predefOp.lus}
+PASS: ec2c {-o /tmp/predefOp.c /tmp/predefOp.ec}
 PASS: ./lus2lic {-o /tmp/t1.lic should_work/t1.lus}
 PASS: ./lus2lic {-ec -o /tmp/t1.ec should_work/t1.lus}
 PASS: ec2c {-o /tmp/t1.c /tmp/t1.ec}
@@ -160,7 +163,8 @@ PASS: ./lus2lic {-o /tmp/v1.lic should_work/v1.lus}
 PASS: ./lus2lic {-ec -o /tmp/v1.ec should_work/v1.lus}
 PASS: ec2c {-o /tmp/v1.c /tmp/v1.ec}
 PASS: ./lus2lic {-o /tmp/call04.lic should_work/call04.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/call04.ec should_work/call04.lus}
+PASS: ./lus2lic {-ec -o /tmp/call04.ec should_work/call04.lus}
+PASS: ec2c {-o /tmp/call04.c /tmp/call04.ec}
 PASS: ./lus2lic {-o /tmp/bascule.lic should_work/bascule.lus}
 PASS: ./lus2lic {-ec -o /tmp/bascule.ec should_work/bascule.lus}
 PASS: ec2c {-o /tmp/bascule.c /tmp/bascule.ec}
@@ -201,7 +205,8 @@ UNRESOLVED: Time out: ./lus2lic {-o /tmp/ec.lic should_work/ec.lus}
 UNRESOLVED: Time out: ./lus2lic {-ec -o /tmp/ec.ec should_work/ec.lus}
 PASS: ec2c {-o /tmp/ec.c /tmp/ec.ec}
 PASS: ./lus2lic {-o /tmp/morel3.lic should_work/morel3.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/morel3.ec should_work/morel3.lus}
+PASS: ./lus2lic {-ec -o /tmp/morel3.ec should_work/morel3.lus}
+PASS: ec2c {-o /tmp/morel3.c /tmp/morel3.ec}
 PASS: ./lus2lic {-o /tmp/fresh_name.lic should_work/fresh_name.lus}
 PASS: ./lus2lic {-ec -o /tmp/fresh_name.ec should_work/fresh_name.lus}
 PASS: ec2c {-o /tmp/fresh_name.c /tmp/fresh_name.ec}
@@ -227,7 +232,8 @@ PASS: ./lus2lic {-o /tmp/shift_ludic.lic should_work/shift_ludic.lus}
 PASS: ./lus2lic {-ec -o /tmp/shift_ludic.ec should_work/shift_ludic.lus}
 PASS: ec2c {-o /tmp/shift_ludic.c /tmp/shift_ludic.ec}
 PASS: ./lus2lic {-o /tmp/pilote-1.0.lic should_work/pilote-1.0.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/pilote-1.0.ec should_work/pilote-1.0.lus}
+PASS: ./lus2lic {-ec -o /tmp/pilote-1.0.ec should_work/pilote-1.0.lus}
+PASS: ec2c {-o /tmp/pilote-1.0.c /tmp/pilote-1.0.ec}
 PASS: ./lus2lic {-o /tmp/trivial.lic should_work/trivial.lus}
 PASS: ./lus2lic {-ec -o /tmp/trivial.ec should_work/trivial.lus}
 PASS: ec2c {-o /tmp/trivial.c /tmp/trivial.ec}
@@ -241,7 +247,8 @@ PASS: ./lus2lic {-o /tmp/bred.lic should_work/bred.lus}
 PASS: ./lus2lic {-ec -o /tmp/bred.ec should_work/bred.lus}
 PASS: ec2c {-o /tmp/bred.c /tmp/bred.ec}
 PASS: ./lus2lic {-o /tmp/tri.lic should_work/tri.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/tri.ec should_work/tri.lus}
+PASS: ./lus2lic {-ec -o /tmp/tri.ec should_work/tri.lus}
+PASS: ec2c {-o /tmp/tri.c /tmp/tri.ec}
 PASS: ./lus2lic {-o /tmp/calculs_max.lic should_work/calculs_max.lus}
 PASS: ./lus2lic {-ec -o /tmp/calculs_max.ec should_work/calculs_max.lus}
 PASS: ec2c {-o /tmp/calculs_max.c /tmp/calculs_max.ec}
@@ -258,7 +265,8 @@ PASS: ./lus2lic {-o /tmp/clock_ite.lic should_work/clock_ite.lus}
 PASS: ./lus2lic {-ec -o /tmp/clock_ite.ec should_work/clock_ite.lus}
 PASS: ec2c {-o /tmp/clock_ite.c /tmp/clock_ite.ec}
 PASS: ./lus2lic {-o /tmp/morel4.lic should_work/morel4.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/morel4.ec should_work/morel4.lus}
+PASS: ./lus2lic {-ec -o /tmp/morel4.ec should_work/morel4.lus}
+PASS: ec2c {-o /tmp/morel4.c /tmp/morel4.ec}
 PASS: ./lus2lic {-o /tmp/enum.lic should_work/enum.lus}
 PASS: ./lus2lic {-ec -o /tmp/enum.ec should_work/enum.lus}
 PASS: ec2c {-o /tmp/enum.c /tmp/enum.ec}
@@ -269,7 +277,8 @@ PASS: ./lus2lic {-o /tmp/onlyroll.lic should_work/onlyroll.lus}
 PASS: ./lus2lic {-ec -o /tmp/onlyroll.ec should_work/onlyroll.lus}
 PASS: ec2c {-o /tmp/onlyroll.c /tmp/onlyroll.ec}
 PASS: ./lus2lic {-o /tmp/produitBool.lic should_work/produitBool.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/produitBool.ec should_work/produitBool.lus}
+PASS: ./lus2lic {-ec -o /tmp/produitBool.ec should_work/produitBool.lus}
+PASS: ec2c {-o /tmp/produitBool.c /tmp/produitBool.ec}
 PASS: ./lus2lic {-o /tmp/noeudsIndependants.lic should_work/noeudsIndependants.lus}
 PASS: ./lus2lic {-ec -o /tmp/noeudsIndependants.ec should_work/noeudsIndependants.lus}
 PASS: ec2c {-o /tmp/noeudsIndependants.c /tmp/noeudsIndependants.ec}
@@ -328,7 +337,8 @@ PASS: ./lus2lic {-o /tmp/compteur.lic should_work/compteur.lus}
 PASS: ./lus2lic {-ec -o /tmp/compteur.ec should_work/compteur.lus}
 PASS: ec2c {-o /tmp/compteur.c /tmp/compteur.ec}
 PASS: ./lus2lic {-o /tmp/Int.lic should_work/Int.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/Int.ec should_work/Int.lus}
+PASS: ./lus2lic {-ec -o /tmp/Int.ec should_work/Int.lus}
+PASS: ec2c {-o /tmp/Int.c /tmp/Int.ec}
 PASS: ./lus2lic {-o /tmp/t2.lic should_work/t2.lus}
 PASS: ./lus2lic {-ec -o /tmp/t2.ec should_work/t2.lus}
 PASS: ec2c {-o /tmp/t2.c /tmp/t2.ec}
@@ -369,7 +379,8 @@ PASS: ./lus2lic {-o /tmp/nc2.lic should_work/nc2.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc2.ec should_work/nc2.lus}
 PASS: ec2c {-o /tmp/nc2.c /tmp/nc2.ec}
 PASS: ./lus2lic {-o /tmp/morel.lic should_work/morel.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/morel.ec should_work/morel.lus}
+PASS: ./lus2lic {-ec -o /tmp/morel.ec should_work/morel.lus}
+PASS: ec2c {-o /tmp/morel.c /tmp/morel.ec}
 PASS: ./lus2lic {-o /tmp/SOURIS.lic should_work/SOURIS.lus}
 PASS: ./lus2lic {-ec -o /tmp/SOURIS.ec should_work/SOURIS.lus}
 PASS: ec2c {-o /tmp/SOURIS.c /tmp/SOURIS.ec}
@@ -380,7 +391,8 @@ PASS: ./lus2lic {-o /tmp/o2l_feux_compl.lic should_work/o2l_feux_compl.lus}
 PASS: ./lus2lic {-ec -o /tmp/o2l_feux_compl.ec should_work/o2l_feux_compl.lus}
 PASS: ec2c {-o /tmp/o2l_feux_compl.c /tmp/o2l_feux_compl.ec}
 PASS: ./lus2lic {-o /tmp/matrice.lic should_work/matrice.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/matrice.ec should_work/matrice.lus}
+PASS: ./lus2lic {-ec -o /tmp/matrice.ec should_work/matrice.lus}
+PASS: ec2c {-o /tmp/matrice.c /tmp/matrice.ec}
 PASS: ./lus2lic {-o /tmp/TIME_STABLE.lic should_work/TIME_STABLE.lus}
 PASS: ./lus2lic {-ec -o /tmp/TIME_STABLE.ec should_work/TIME_STABLE.lus}
 PASS: ec2c {-o /tmp/TIME_STABLE.c /tmp/TIME_STABLE.ec}
@@ -424,9 +436,11 @@ PASS: ./lus2lic {-o /tmp/stopwatch.lic should_work/stopwatch.lus}
 PASS: ./lus2lic {-ec -o /tmp/stopwatch.ec should_work/stopwatch.lus}
 PASS: ec2c {-o /tmp/stopwatch.c /tmp/stopwatch.ec}
 PASS: ./lus2lic {-o /tmp/iterFibo.lic should_work/iterFibo.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/iterFibo.ec should_work/iterFibo.lus}
+PASS: ./lus2lic {-ec -o /tmp/iterFibo.ec should_work/iterFibo.lus}
+PASS: ec2c {-o /tmp/iterFibo.c /tmp/iterFibo.ec}
 PASS: ./lus2lic {-o /tmp/morel2.lic should_work/morel2.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/morel2.ec should_work/morel2.lus}
+PASS: ./lus2lic {-ec -o /tmp/morel2.ec should_work/morel2.lus}
+PASS: ec2c {-o /tmp/morel2.c /tmp/morel2.ec}
 PASS: ./lus2lic {-o /tmp/minmax1.lic should_work/minmax1.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax1.ec should_work/minmax1.lus}
 PASS: ec2c {-o /tmp/minmax1.c /tmp/minmax1.ec}
@@ -458,7 +472,8 @@ PASS: ./lus2lic {-o /tmp/lecteur.lic should_work/lecteur.lus}
 PASS: ./lus2lic {-ec -o /tmp/lecteur.ec should_work/lecteur.lus}
 PASS: ec2c {-o /tmp/lecteur.c /tmp/lecteur.ec}
 PASS: ./lus2lic {-o /tmp/bug.lic should_work/bug.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/bug.ec should_work/bug.lus}
+PASS: ./lus2lic {-ec -o /tmp/bug.ec should_work/bug.lus}
+PASS: ec2c {-o /tmp/bug.c /tmp/bug.ec}
 PASS: ./lus2lic {-o /tmp/ck4.lic should_work/ck4.lus}
 PASS: ./lus2lic {-ec -o /tmp/ck4.ec should_work/ck4.lus}
 PASS: ec2c {-o /tmp/ck4.c /tmp/ck4.ec}
@@ -475,7 +490,8 @@ PASS: ./lus2lic {-o /tmp/nested.lic should_work/nested.lus}
 PASS: ./lus2lic {-ec -o /tmp/nested.ec should_work/nested.lus}
 PASS: ec2c {-o /tmp/nested.c /tmp/nested.ec}
 PASS: ./lus2lic {-o /tmp/Gyroscope.lic should_work/Gyroscope.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/Gyroscope.ec should_work/Gyroscope.lus}
+PASS: ./lus2lic {-ec -o /tmp/Gyroscope.ec should_work/Gyroscope.lus}
+PASS: ec2c {-o /tmp/Gyroscope.c /tmp/Gyroscope.ec}
 PASS: ./lus2lic {-o /tmp/asservi.lic should_work/asservi.lus}
 PASS: ./lus2lic {-ec -o /tmp/asservi.ec should_work/asservi.lus}
 PASS: ec2c {-o /tmp/asservi.c /tmp/asservi.ec}
@@ -528,7 +544,8 @@ PASS: ./lus2lic {-o /tmp/predef02.lic should_work/predef02.lus}
 PASS: ./lus2lic {-ec -o /tmp/predef02.ec should_work/predef02.lus}
 PASS: ec2c {-o /tmp/predef02.c /tmp/predef02.ec}
 PASS: ./lus2lic {-o /tmp/toto.lic should_work/toto.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/toto.ec should_work/toto.lus}
+PASS: ./lus2lic {-ec -o /tmp/toto.ec should_work/toto.lus}
+PASS: ec2c {-o /tmp/toto.c /tmp/toto.ec}
 PASS: ./lus2lic {-o /tmp/minmax6.lic should_work/minmax6.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax6.ec should_work/minmax6.lus}
 PASS: ec2c {-o /tmp/minmax6.c /tmp/minmax6.ec}
@@ -572,7 +589,8 @@ PASS: ./lus2lic {-o /tmp/after.lic should_work/after.lus}
 PASS: ./lus2lic {-ec -o /tmp/after.ec should_work/after.lus}
 PASS: ec2c {-o /tmp/after.c /tmp/after.ec}
 PASS: ./lus2lic {-o /tmp/arrays.lic should_work/arrays.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/arrays.ec should_work/arrays.lus}
+PASS: ./lus2lic {-ec -o /tmp/arrays.ec should_work/arrays.lus}
+PASS: ec2c {-o /tmp/arrays.c /tmp/arrays.ec}
 PASS: ./lus2lic {-o /tmp/eq1.lic should_work/eq1.lus}
 PASS: ./lus2lic {-ec -o /tmp/eq1.ec should_work/eq1.lus}
 PASS: ec2c {-o /tmp/eq1.c /tmp/eq1.ec}
@@ -592,7 +610,8 @@ PASS: ./lus2lic {-o /tmp/EDGE.lic should_work/EDGE.lus}
 PASS: ./lus2lic {-ec -o /tmp/EDGE.ec should_work/EDGE.lus}
 PASS: ec2c {-o /tmp/EDGE.c /tmp/EDGE.ec}
 PASS: ./lus2lic {-o /tmp/call03.lic should_work/call03.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/call03.ec should_work/call03.lus}
+PASS: ./lus2lic {-ec -o /tmp/call03.ec should_work/call03.lus}
+PASS: ec2c {-o /tmp/call03.c /tmp/call03.ec}
 PASS: ./lus2lic {-o /tmp/count.lic should_work/count.lus}
 PASS: ./lus2lic {-ec -o /tmp/count.ec should_work/count.lus}
 PASS: ec2c {-o /tmp/count.c /tmp/count.ec}
@@ -627,7 +646,8 @@ PASS: ./lus2lic {-o /tmp/minus.lic should_work/minus.lus}
 PASS: ./lus2lic {-ec -o /tmp/minus.ec should_work/minus.lus}
 PASS: ec2c {-o /tmp/minus.c /tmp/minus.ec}
 PASS: ./lus2lic {-o /tmp/remplissage-1.0.lic should_work/remplissage-1.0.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/remplissage-1.0.ec should_work/remplissage-1.0.lus}
+PASS: ./lus2lic {-ec -o /tmp/remplissage-1.0.ec should_work/remplissage-1.0.lus}
+PASS: ec2c {-o /tmp/remplissage-1.0.c /tmp/remplissage-1.0.ec}
 XFAIL: Test bad programs (syntax): lus2lic {-o /tmp/old_style_and_pack.lic should_fail/syntax/old_style_and_pack.lus}
 XFAIL: Test bad programs (syntax): lus2lic {-o /tmp/record.lic should_fail/syntax/record.lus}
 XFAIL: Test bad programs (type): lus2lic {-o /tmp/parametric_node3.lic should_fail/type/parametric_node3.lus}
@@ -668,7 +688,7 @@ FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/parametric_node.ec  should_work
 FAIL: without any option: ./lus2lic {    -o /tmp/bad_call02.out should_work/broken/bad_call02.lus}
 FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/bad_call02.ec  should_work/broken/bad_call02.lus}
 PASS: ./lus2lic {    -o /tmp/toolate.out should_work/broken/toolate.lus}
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/toolate.ec  should_work/broken/toolate.lus}
+PASS: ./lus2lic {-ec -o /tmp/toolate.ec  should_work/broken/toolate.lus}
 FAIL: without any option: ./lus2lic {    -o /tmp/packageTableau.out should_work/broken/packageTableau.lus}
 FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/packageTableau.ec  should_work/broken/packageTableau.lus}
 FAIL: without any option: ./lus2lic {    -o /tmp/condact2.out should_work/broken/condact2.lus}
@@ -800,8 +820,8 @@ XPASS: Test bad programs (semantics): lus2lic {-o /tmp/bug.lic should_fail/seman
 
 		=== lus2lic Summary ===
 
-# of expected passes		646
-# of unexpected failures	102
+# of expected passes		687
+# of unexpected failures	81
 # of unexpected successes	8
 # of expected failures		26
 # of unresolved testcases	6
diff --git a/test/lus2lic.time b/test/lus2lic.time
index 9c3c3314319e458e442937ff55342a88ebffa4a8..0d17b66748ef406286f8e672d104e5d87bcd35db 100644
--- a/test/lus2lic.time
+++ b/test/lus2lic.time
@@ -1,2 +1,2 @@
-testcase ./lus2lic.tests/non-reg.exp completed in 160 seconds
-testcase ./lus2lic.tests/progression.exp completed in 12 seconds
+testcase ./lus2lic.tests/non-reg.exp completed in 184 seconds
+testcase ./lus2lic.tests/progression.exp completed in 17 seconds
diff --git a/todo.org b/todo.org
index 82112a0de4699b72fa41a4e6a7ea144b382544b9..53162116487151e609fca24eaba208ae5dab28a8 100644
--- a/todo.org
+++ b/todo.org
@@ -135,7 +135,7 @@ file:~/lus2lic/src/uglyStuff.ml
 
 
 
-** TODO  Rajouter le with à la caml pour les structures
+** TODO Rajouter le with à la caml pour les structures
   - State "TODO"       from ""           [2012-10-26 Fri 14:59]
 
 ** TODO Dans file:src/eff.ml::195 on pourrait virer la notion de call by name
@@ -148,15 +148,15 @@ du with ?
 comment fait caml ?
   - State "TODO"       from ""           [2012-10-26 Fri 14:59]
 
-** TODO  on devrait se passer de 'static_arg list' pour le champ =PREDEF_CALL= 
+** TODO on devrait se passer de 'static_arg list' pour le champ =PREDEF_CALL= 
 (c'est censé marcher)
 cf file:./src/eff.ml::206
   - State "TODO"       from ""           [2012-10-26 Fri 14:59]
 
-** TODO  L'ideal serait de se passer du PREDEF_CALL (et de passer par le  CALL normal)
+** TODO L'ideal serait de se passer du PREDEF_CALL (et de passer par le  CALL normal)
   - State "TODO"       from ""           [2012-10-26 Fri 14:59]
 
-** TODO  le Eff.WITH (aka if statique) n'a pas lieu d'être !
+** TODO le Eff.WITH (aka if statique) n'a pas lieu d'être !
 y virer !!
   - State "TODO"       from ""           [2012-10-26 Fri 14:59]