diff --git a/src/getEff.ml b/src/getEff.ml
index a0789dd55a67f71a80fd20a9f4ba200b2158d760..06d2e31e7db4501e0a9c60ae91c23157d831cc98 100644
--- a/src/getEff.ml
+++ b/src/getEff.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 21/08/2008 (at 15:58) by Erwan Jahier> *)
+(** Time-stamp: <modified the 22/08/2008 (at 15:55) by Erwan Jahier> *)
 
 
 open Lxm
@@ -145,7 +145,7 @@ and (check_static_arg : CompiledData.id_solver ->
 	    let sargs_eff = 
 	      translate_predef_static_args node_id_solver sargs sa.src
 	    in
-	    let opeff = PredefEvalType.make_node_exp_eff op sa.src sargs_eff in
+	    let opeff = PredefEvalType.make_node_exp_eff None op sa.src sargs_eff in
 	      NodeStaticArgEff (id, opeff)
 
 	| StaticArgNode(      
@@ -276,7 +276,7 @@ and get_node id_solver node_or_node_ident lxm =
     | StaticArgNode(CALL_n ne) -> node id_solver ne
     | StaticArgNode(Predef (op,sargs)) ->
 	let sargs_eff = translate_predef_static_args id_solver sargs lxm in
-	  PredefEvalType.make_node_exp_eff op lxm sargs_eff 
+	  PredefEvalType.make_node_exp_eff None op lxm sargs_eff 
     | StaticArgNode(_) -> assert false
 
     | StaticArgType _ 
diff --git a/src/lazyCompiler.ml b/src/lazyCompiler.ml
index f55b1aca6f14e0b55995294c6446128bd351a090..0a0c43f2e2c178eaefb96185eff66b5a0b040924 100644
--- a/src/lazyCompiler.ml
+++ b/src/lazyCompiler.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 19/08/2008 (at 14:34) by Erwan Jahier> *)
+(** Time-stamp: <modified the 22/08/2008 (at 15:58) by Erwan Jahier> *)
 
 
 open Lxm
@@ -719,7 +719,8 @@ and (node_check_do: t -> CompiledData.node_key -> Lxm.t -> SymbolTab.t ->
 		    let sargs_eff = 
 		      GetEff.translate_predef_static_args node_id_solver sargs lxm 
 		    in
-		      PredefEvalType.make_node_exp_eff predef_op lxm sargs_eff 
+		      PredefEvalType.make_node_exp_eff 
+                        (Some node_def.it.has_mem) predef_op lxm sargs_eff 
 			
 		| CALL_n(node_alias) -> 
 		    GetEff.node node_id_solver node_alias 
diff --git a/src/licDump.ml b/src/licDump.ml
index 587d348892571ec3b5078adb3673a855721384d0..f2a9efcf167c78a2f13d9a030995893d01b3b4ed 100644
--- a/src/licDump.ml
+++ b/src/licDump.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 21/08/2008 (at 16:34) by Erwan Jahier> *)
+(** Time-stamp: <modified the 25/08/2008 (at 10:13) by Erwan Jahier> *)
 
 open CompiledData
 open Printf
@@ -11,6 +11,36 @@ let (long : Ident.long -> string) = Ident.string_of_long
 
 let type_alias_table = Hashtbl.create 0
 
+(******************************************************************************)    
+(** Un-nesting iterator calls. 
+
+    The idea is the following: each time a nested iterator call
+    (map<<map<<n,3>>,4>>) is encountered, we create a fresh alias
+    name (create_alias_name) ad we add it in the node_alias_tbl.  At
+    the end of the compilation, LicDump.dump_node_alias is called,
+    which prints the definition of those node aliases.
+
+    For example, the expression  "map<<map<<n,3>>,4>>" is printed like this:
+    
+    "map<<_node_alias1, 4>>"
+
+    and later, the node alias is defined:
+
+        node _node_alias1(x:int) returns(y:int); let y = map<<n,3>>(x); tel;
+*)
+
+(* This table associates to node its definition plus a flag indicating if that
+   node has been generated. *)
+
+let (node_alias_tbl : (string, node_exp_eff * bool) Hashtbl.t) = Hashtbl.create 0
+let alias_fresh_var_cpt = ref 0
+let create_alias_name long =
+  incr alias_fresh_var_cpt;
+  ("_node_alias_" ^ (string_of_int !alias_fresh_var_cpt) 
+   ^ "_" ^ (Ident.string_of_long long))
+
+
+(******************************************************************************)    
 (* prefix used to prefix user type name in order to avoid name clashed with
    the alias type name that are generated by the compiler. *)
 let prefix = "_"
@@ -124,6 +154,32 @@ and dump_type_alias oc =
       )
       type_alias_table
     
+(******************************************************************************) 
+
+(* exported *)
+and (dump_node_alias : out_channel -> unit) =
+  fun oc -> 
+    let p = output_string oc in
+    let finished = ref true in
+    let f alias (node, dumped) =
+      if not dumped then (
+        finished := false;
+        p "node ";
+        p alias;
+        p (profile_of_node_exp_eff node);
+        p "let\n  ";
+        p (Ident.to_string (List.hd node.outlist_eff).var_name_eff);
+        p " = ";
+        p (string_of_node_key_iter node.node_key_eff);
+        p( "("^(Ident.to_string (List.hd node.inlist_eff).var_name_eff)^")");
+        p ";\ntel\n";
+        Hashtbl.replace node_alias_tbl alias (node,true)
+      )
+    in
+      p "\n";
+      Hashtbl.iter f node_alias_tbl;
+      if not !finished then dump_node_alias oc
+
 (******************************************************************************)    
 
 (* exported  *)
@@ -152,7 +208,7 @@ and string_of_node_key_iter (nkey: node_key) =
   match nkey with
     | (ik, []) -> long ik
     | (ik, salst) ->
-	let astrings = List.map static_arg2string salst in
+	let astrings = List.map (static_arg2string false) salst in
 	  sprintf "%s<<%s>>" (long ik) (String.concat ", " astrings)
 
 (* for printing recursive node *)
@@ -164,12 +220,19 @@ and static_arg2string_rec (sa : static_arg_eff) =
 	  sprintf "%s" (string_of_node_key_rec opeff.node_key_eff)
 
 (* for printing iterators *)
-and static_arg2string (sa : static_arg_eff) =
+and static_arg2string flag (sa : static_arg_eff) =
     match sa with
       | ConstStaticArgEff (id, ceff) -> sprintf "%s" (string_of_const_eff ceff)
       | TypeStaticArgEff  (id, teff) -> sprintf "%s" (string_of_type_eff teff)
       | NodeStaticArgEff  (id, opeff) ->
-	  sprintf "%s" (string_of_node_key_iter opeff.node_key_eff)
+          if 
+            (snd opeff.node_key_eff) = []
+          then 
+	    sprintf "%s" (string_of_node_key_iter opeff.node_key_eff)
+          else
+            let alias = create_alias_name (fst opeff.node_key_eff) in
+              Hashtbl.add node_alias_tbl alias (opeff, false);
+              sprintf "%s" alias
 
 and (string_of_var_info_eff: var_info_eff -> string) =
   fun x -> 
@@ -239,7 +302,8 @@ and (string_of_by_pos_op_eff : by_pos_op_eff -> val_exp_eff list -> string) =
                       | Predef.FALSE_n | Predef.TRUE_n -> tuple vel 
                       | _ -> tuple_par vel 
                   else 
-		    "<<" ^ (String.concat ", " (List.map static_arg2string sargs))
+		    "<<" ^ 
+                      (String.concat ", " (List.map (static_arg2string true) sargs))
 		    ^ ">>" ^ (tuple_par vel)))
 		
 	| CALL_eff nee, _  -> (
@@ -382,11 +446,7 @@ and wrap_long_profile str =
 
 and (profile_of_node_exp_eff: node_exp_eff -> string) =
   fun neff ->
-    wrap_long_profile 
-      ((if neff.def_eff = ExternEff then "extern " else "") ^
-	 (if neff.has_mem_eff then "node " else "function ") ^
-	 (string_of_node_key_rec neff.node_key_eff) ^
-	 "(" ^ (string_of_type_decl_list  neff.inlist_eff "; ") ^ ") returns (" ^
+      ("(" ^ (string_of_type_decl_list  neff.inlist_eff "; ") ^ ") returns (" ^
 	 (string_of_type_decl_list neff.outlist_eff "; ") ^ ");\n")
 
 and (string_of_node_def : node_def_eff -> string list) =
@@ -427,7 +487,11 @@ and (const_decl: Ident.long -> const_eff -> string) =
 (* exported *)
 and (node_of_node_exp_eff: node_exp_eff -> string) =
   fun neff -> 
-    (profile_of_node_exp_eff neff) ^ 
+    wrap_long_profile (
+      (if neff.def_eff = ExternEff then "extern " else "") ^
+        (if neff.has_mem_eff then "node " else "function ") ^
+        (string_of_node_key_rec neff.node_key_eff) ^
+        (profile_of_node_exp_eff neff)) ^ 
       (match neff.def_eff with
 	 | ExternEff ->  ""
 	 | AbstractEff -> ""
diff --git a/src/licDump.mli b/src/licDump.mli
index ca1bef94b6923588e29a42e787e7d1ed7a710624..bb1e3833d23b6c2ee8697aa4b6b4f59e02a1907f 100644
--- a/src/licDump.mli
+++ b/src/licDump.mli
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 19/08/2008 (at 15:29) by Erwan Jahier> *)
+(** Time-stamp: <modified the 22/08/2008 (at 14:53) by Erwan Jahier> *)
 
 open CompiledData
 
@@ -19,8 +19,9 @@ val string_of_var_info_eff: var_info_eff -> string
 val string_of_slice_info_eff : slice_info_eff -> string 
 
 
-(* Dump all the type alias that were introduced during the compilation process *)
+(* Dump all the aliases that were introduced during the compilation process *)
 val dump_type_alias : out_channel -> unit
+val dump_node_alias : out_channel -> unit
 
 
 (* used for error msgs *)
diff --git a/src/main.ml b/src/main.ml
index d1d960fb09dae966d848701cb1c841c6de501b7e..0fd1cf9b7cc591a958b175f486d736bfccd598f8 100644
--- a/src/main.ml
+++ b/src/main.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 18/08/2008 (at 15:50) by Erwan Jahier> *)
+(** Time-stamp: <modified the 22/08/2008 (at 14:54) by Erwan Jahier> *)
 
 (** Here follows a description of the different modules used by this lus2lic compiler.
 
@@ -242,6 +242,7 @@ let main = (
       if !Global.outfile <> "" then Global.oc := open_out !Global.outfile;
       Compile.doit nsl main_node;
       LicDump.dump_type_alias !Global.oc;
+      LicDump.dump_node_alias !Global.oc;
       close_out !Global.oc
   ) with
       Sys_error(s) ->
diff --git a/src/predefEvalType.ml b/src/predefEvalType.ml
index 8fa4d4622be52b1ca17b0264ca8344e95e4c3448..fc1b81574f228043b54815ea34b52e90bf4475ed 100644
--- a/src/predefEvalType.ml
+++ b/src/predefEvalType.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 22/07/2008 (at 10:56) by Erwan Jahier> *)
+(** Time-stamp: <modified the 22/08/2008 (at 15:57) by Erwan Jahier> *)
 
 open Predef
 open SyntaxTreeCore
@@ -193,21 +193,26 @@ let (op2profile : Predef.op -> Lxm.t -> static_arg_eff list -> node_profile) =
 	*)
 
 (* exported *)
-let (make_node_exp_eff : op -> Lxm.t -> static_arg_eff list -> node_exp_eff) =
-  fun op lxm sargs -> 
+let (make_node_exp_eff : 
+       bool option -> op -> Lxm.t -> static_arg_eff list -> node_exp_eff) =
+  fun has_mem op lxm sargs -> 
     let id = Ident.make_long 
       (Ident.pack_name_of_string "Lustre") (Ident.of_string (Predef.op2string_long op))
     in
     let (lti,lto) = op2profile op lxm sargs in
     let i = ref 0 in
     let to_var_info_eff nature (id, te) =
-      {
-	var_name_eff = id;
-	var_nature_eff = nature;
-	var_number_eff = !i;
-	var_type_eff   = te;
-	var_clock_eff  = BaseEff;
-      }
+      let res = 
+        {
+	  var_name_eff = id;
+	  var_nature_eff = nature;
+	  var_number_eff = !i;
+	  var_type_eff   = te;
+	  var_clock_eff  = BaseEff;
+        }
+      in
+        incr i;
+        res
     in
       {
 	node_key_eff = id,sargs ;
@@ -215,7 +220,7 @@ let (make_node_exp_eff : op -> Lxm.t -> static_arg_eff list -> node_exp_eff) =
 	outlist_eff  = (i:=0; List.map (to_var_info_eff VarOutput) lto);
 	loclist_eff  = None;
 	def_eff      = ExternEff;
-	has_mem_eff  = false;
+	has_mem_eff  = (match has_mem with Some b -> b | None -> true);
 	is_safe_eff  = true;
       }
 
@@ -245,7 +250,7 @@ let (f : op -> Lxm.t -> CompiledData.static_arg_eff list -> typer) =
 	      [Bool_type_eff]
 	| _ -> 
 	    (* general case *)
-	    let node_eff = make_node_exp_eff op lxm sargs in
+	    let node_eff = make_node_exp_eff (Some false) op lxm sargs in
 	    let lti = List.map (fun v -> v.var_type_eff) node_eff.inlist_eff
 	    and lto = List.map (fun v -> v.var_type_eff) node_eff.outlist_eff in
 	    let rec (subst_type : type_eff -> type_eff -> type_eff) =
diff --git a/src/predefEvalType.mli b/src/predefEvalType.mli
index eff63c3f7bd112f44532554d043acaf2e1ccd1c9..dcef6ea70779effb5d07a000bca250c34d40831d 100644
--- a/src/predefEvalType.mli
+++ b/src/predefEvalType.mli
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 30/06/2008 (at 09:50) by Erwan Jahier> *)
+(** Time-stamp: <modified the 22/08/2008 (at 15:57) by Erwan Jahier> *)
 
 open CompiledData
 
@@ -17,7 +17,8 @@ val f : Predef.op -> Lxm.t -> CompiledData.static_arg_eff list -> typer
 
 
 (* Does not work for NOR_n and DIESE_n! *)
-val make_node_exp_eff : Predef.op -> Lxm.t -> static_arg_eff list -> node_exp_eff
+val make_node_exp_eff : 
+  bool option -> Predef.op -> Lxm.t -> static_arg_eff list -> node_exp_eff
 
 
 val fillred_profile : Lxm.t -> CompiledData.static_arg_eff list -> 
diff --git a/src/split.ml b/src/split.ml
index fe9e10818770c1f4b796f87a00494754854e50e8..d717ba7f076581c670bcc105ef3b95606ddea3d7 100644
--- a/src/split.ml
+++ b/src/split.ml
@@ -1,16 +1,16 @@
-(** Time-stamp: <modified the 21/08/2008 (at 16:35) by Erwan Jahier> *)
+(** Time-stamp: <modified the 25/08/2008 (at 10:18) by Erwan Jahier> *)
 
 
 open Lxm
 open CompiledData
 
+(********************************************************************************)
 (* stuff to create fresh var names. *)
-let cpt = ref 0
-let init_var () = cpt := 0
+let var_cpt = ref 0
 let new_var type_eff clock_eff = 
-  incr cpt; 
+  incr var_cpt; 
   { 
-    var_name_eff   = Ident.of_string ("_v" ^ (string_of_int !cpt));
+    var_name_eff   = Ident.of_string ("_v" ^ (string_of_int !var_cpt));
     var_nature_eff = SyntaxTreeCore.VarLocal;
     var_number_eff = -1; (* this field is used only for i/o. 
                             Should i rather put something sensible there ? *)
@@ -18,7 +18,11 @@ let new_var type_eff clock_eff =
     var_clock_eff  = clock_eff;
   }
     
+let init_var () = 
+  var_cpt := 0
 
+
+(********************************************************************************)
 (* The functions below accumulate 
    (1) the new equations 
    (2) the fresh variables. 
diff --git a/src/split.mli b/src/split.mli
index 82b60d45c0aabb436f9a3b0f66c15cbc53b810f7..5815b1886c8a2fb111c7080c61a6553f3d566e35 100644
--- a/src/split.mli
+++ b/src/split.mli
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 19/08/2008 (at 11:20) by Erwan Jahier> *)
+(** Time-stamp: <modified the 22/08/2008 (at 14:54) by Erwan Jahier> *)
 
 
 (** Split the equations of a node into several ones, in such a way
diff --git a/src/test/test.res.exp b/src/test/test.res.exp
index 906c477b3861fa4d51ec84d9f12ba980e0839e10..172276aef6a06c294901277cd9cc4e7ae5dc85b1 100644
--- a/src/test/test.res.exp
+++ b/src/test/test.res.exp
@@ -9,6 +9,7 @@ let
 tel
 -- end of node CURRENT::CURRENT
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/Int.lus
 Opening file should_work/NONREG/Int.lus
@@ -71,6 +72,7 @@ tel
 -- end of node mainPack::Nat
 -- automatically defined aliases:
 type A_bool_8 = bool^8;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/PCOND.lus
 Opening file should_work/NONREG/PCOND.lus
@@ -127,6 +129,7 @@ let
 tel
 -- end of node PCOND::PCOND
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/PCOND1.lus
 Opening file should_work/NONREG/PCOND1.lus
@@ -155,6 +158,7 @@ let
 tel
 -- end of node PCOND1::PCOND1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/SOURIS.lus
 Opening file should_work/NONREG/SOURIS.lus
@@ -580,6 +584,7 @@ let
 tel
 -- end of node SOURIS::SOURIS
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/Watch.lus
 Opening file should_work/NONREG/Watch.lus
@@ -1369,6 +1374,7 @@ let
 tel
 -- end of node Watch::MORE_RECENT
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/X.lus
 Opening file should_work/NONREG/X.lus
@@ -1406,6 +1412,7 @@ let
 tel
 -- end of node X::X
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/X1.lus
 Opening file should_work/NONREG/X1.lus
@@ -1418,6 +1425,7 @@ let
 tel
 -- end of node X1::X1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/X2.lus
 Opening file should_work/NONREG/X2.lus
@@ -1432,6 +1440,7 @@ let
 tel
 -- end of node X2::X2
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/X3.lus
 Opening file should_work/NONREG/X3.lus
@@ -1462,6 +1471,7 @@ let
 tel
 -- end of node X3::X3
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/X6.lus
 Opening file should_work/NONREG/X6.lus
@@ -1497,6 +1507,7 @@ let
 tel
 -- end of node X6::X6
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/_N_uu.lus
 Opening file should_work/NONREG/_N_uu.lus
@@ -1597,6 +1608,7 @@ let
 tel
 -- end of node _N_uu::_N_uu
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/activation_ec.lus
 Opening file should_work/NONREG/activation_ec.lus
@@ -1637,6 +1649,7 @@ let
 tel
 -- end of node activation_ec::activation_ec
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/after.lus
 Opening file should_work/NONREG/after.lus
@@ -1651,6 +1664,7 @@ let
 tel
 -- end of node after::after
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/alarme.lus
 Opening file should_work/NONREG/alarme.lus
@@ -1842,6 +1856,7 @@ let
 tel
 -- end of node alarme::alarme
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/arbitre.lus
 Opening file should_work/NONREG/arbitre.lus
@@ -1963,6 +1978,7 @@ let
 tel
 -- end of node arbitre::arbitre
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/argos.lus
 Opening file should_work/NONREG/argos.lus
@@ -2027,6 +2043,7 @@ let
 tel
 -- end of node argos::argos
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/assertion.lus
 Opening file should_work/NONREG/assertion.lus
@@ -2047,6 +2064,7 @@ let
 tel
 -- end of node assertion::assertion
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/aux.lus
 Opening file should_work/NONREG/aux.lus
@@ -2059,6 +2077,7 @@ let
 tel
 -- end of node aux::aux
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/aux1.lus
 Opening file should_work/NONREG/aux1.lus
@@ -2088,6 +2107,7 @@ let
 tel
 -- end of node aux1::aux1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/bascule.lus
 Opening file should_work/NONREG/bascule.lus
@@ -2119,6 +2139,7 @@ let
 tel
 -- end of node bascule::bascule
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/call.lus
 Opening file should_work/NONREG/call.lus
@@ -2148,6 +2169,7 @@ let
 tel
 -- end of node call::call
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/ck2.lus
 Opening file should_work/NONREG/ck2.lus
@@ -2166,6 +2188,7 @@ let
 tel
 -- end of node ck2::ck2
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/ck3.lus
 Opening file should_work/NONREG/ck3.lus
@@ -2178,6 +2201,7 @@ let
 tel
 -- end of node ck3::ck3
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/ck4.lus
 Opening file should_work/NONREG/ck4.lus
@@ -2187,6 +2211,7 @@ let
 tel
 -- end of node ck4::ck4
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/ck5.lus
 Opening file should_work/NONREG/ck5.lus
@@ -2213,6 +2238,7 @@ let
 tel
 -- end of node ck5::ck5
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/ck6.lus
 Opening file should_work/NONREG/ck6.lus
@@ -2243,6 +2269,7 @@ let
 tel
 -- end of node ck6::ck6
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/ck7.lus
 Opening file should_work/NONREG/ck7.lus
@@ -2253,6 +2280,7 @@ let
 tel
 -- end of node ck7::ck7
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/clock.lus
 Opening file should_work/NONREG/clock.lus
@@ -2316,6 +2344,7 @@ tel
 -- end of node clock::clock
 -- automatically defined aliases:
 type A_bool_7 = bool^7;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/cminus.lus
 Opening file should_work/NONREG/cminus.lus
@@ -2388,6 +2417,7 @@ let
 tel
 -- end of node cminus::cminus
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/compteur.lus
 Opening file should_work/NONREG/compteur.lus
@@ -2404,6 +2434,7 @@ let
 tel
 -- end of node compteur::compteur
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/cpt.lus
 Opening file should_work/NONREG/cpt.lus
@@ -2422,6 +2453,7 @@ let
 tel
 -- end of node cpt::cpt
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/cst.lus
 Opening file should_work/NONREG/cst.lus
@@ -2445,6 +2477,7 @@ let
 tel
 -- end of node cst::cst
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/deconne.lus
 Opening file should_work/NONREG/deconne.lus
@@ -2487,6 +2520,7 @@ let
 tel
 -- end of node deconne::deconne
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/dep.lus
 Opening file should_work/NONREG/dep.lus
@@ -2511,6 +2545,7 @@ let
 tel
 -- end of node dep::dep
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/dependeur.lus
 Opening file should_work/NONREG/dependeur.lus
@@ -2535,6 +2570,7 @@ let
 tel
 -- end of node dependeur::dependeur
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/dependeur_struct.lus
 Opening file should_work/NONREG/dependeur_struct.lus
@@ -2557,6 +2593,7 @@ let
 tel
 -- end of node dependeur_struct::dependeur_struct
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/drapfab.lus
 Opening file should_work/NONREG/drapfab.lus
@@ -2685,6 +2722,7 @@ let
 tel
 -- end of node drapfab::drapfab
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/enum.lus
 Opening file should_work/NONREG/enum.lus
@@ -2710,6 +2748,7 @@ let
 tel
 -- end of node enum::boo
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/eq1.lus
 Opening file should_work/NONREG/eq1.lus
@@ -2747,6 +2786,7 @@ let
 tel
 -- end of node eq1::eq1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/ex.lus
 Opening file should_work/NONREG/ex.lus
@@ -2790,6 +2830,7 @@ type A_bool_11 = bool^11;
 type A_A_A_int_1_2_3 = A_A_int_1_2^3;
 type A_A_int_1_2 = A_int_1^2;
 type A_int_1 = int^1;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/exclusion.lus
 Opening file should_work/NONREG/exclusion.lus
@@ -2819,6 +2860,7 @@ let
 tel
 -- end of node exclusion::exclusion
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/fby.lus
 Opening file should_work/NONREG/fby.lus
@@ -2833,6 +2875,7 @@ let
 tel
 -- end of node fby::followed_by
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/flo.lus
 Opening file should_work/NONREG/flo.lus
@@ -2868,6 +2911,7 @@ let
 tel
 -- end of node flo::flo
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/hanane.lus
 Opening file should_work/NONREG/hanane.lus
@@ -2946,6 +2990,7 @@ type A_A_A_int_4_4_4 = A_A_int_4_4^4;
 type A_A_int_4_4 = A_int_4^4;
 type A__hanane::structT_2 = _hanane::structT^2;
 type A_int_4 = int^4;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/import1.lus
 Opening file should_work/NONREG/import1.lus
@@ -2961,6 +3006,7 @@ let
 tel
 -- end of node import1::import1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/initial.lus
 Opening file should_work/NONREG/initial.lus
@@ -2979,6 +3025,7 @@ let
 tel
 -- end of node initial::initial
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/long_et_stupide_nom_de_noeud.lus
 Opening file should_work/NONREG/long_et_stupide_nom_de_noeud.lus
@@ -2995,6 +3042,7 @@ let
 tel
 -- end of node long_et_stupide_nom_de_noeud::long_et_stupide_nom_de_noeud
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/minmax1.lus
 Opening file should_work/NONREG/minmax1.lus
@@ -3013,6 +3061,7 @@ let
 tel
 -- end of node minmax1::minmax1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/minmax2.lus
 Opening file should_work/NONREG/minmax2.lus
@@ -3036,6 +3085,7 @@ let
 tel
 -- end of node minmax2::minmax2
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/minmax3.lus
 Opening file should_work/NONREG/minmax3.lus
@@ -3073,6 +3123,7 @@ let
 tel
 -- end of node minmax3::minmax3
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/minmax4.lus
 Opening file should_work/NONREG/minmax4.lus
@@ -3117,6 +3168,7 @@ let
 tel
 -- end of node minmax4::minmax4
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/minmax4_bis.lus
 Opening file should_work/NONREG/minmax4_bis.lus
@@ -3161,6 +3213,7 @@ let
 tel
 -- end of node minmax4_bis::minmax4_bis
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/minmax5.lus
 Opening file should_work/NONREG/minmax5.lus
@@ -3192,6 +3245,7 @@ let
 tel
 -- end of node minmax5::minmax5
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/minmax5_random.lus
 Opening file should_work/NONREG/minmax5_random.lus
@@ -3229,6 +3283,7 @@ let
 tel
 -- end of node minmax5_random::minmax5_random
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/minmax6.lus
 Opening file should_work/NONREG/minmax6.lus
@@ -3290,6 +3345,7 @@ let
 tel
 -- end of node minmax6::minmax6
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/mm.lus
 Opening file should_work/NONREG/mm.lus
@@ -3310,6 +3366,7 @@ let
 tel
 -- end of node mm::mm
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/mm1.lus
 Opening file should_work/NONREG/mm1.lus
@@ -3330,6 +3387,7 @@ let
 tel
 -- end of node mm1::mm1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/mm22.lus
 Opening file should_work/NONREG/mm22.lus
@@ -3347,6 +3405,7 @@ let
 tel
 -- end of node mm22::mm22
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/mm3.lus
 Opening file should_work/NONREG/mm3.lus
@@ -3379,6 +3438,7 @@ let
 tel
 -- end of node mm3::mm3
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/mouse.lus
 Opening file should_work/NONREG/mouse.lus
@@ -3465,6 +3525,7 @@ let
 tel
 -- end of node mouse::mouse
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/mouse1.lus
 Opening file should_work/NONREG/mouse1.lus
@@ -3535,6 +3596,7 @@ let
 tel
 -- end of node mouse1::mouse1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/mouse2.lus
 Opening file should_work/NONREG/mouse2.lus
@@ -3621,6 +3683,7 @@ let
 tel
 -- end of node mouse2::mouse2
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/mouse3.lus
 Opening file should_work/NONREG/mouse3.lus
@@ -3667,6 +3730,7 @@ let
 tel
 -- end of node mouse3::mouse3
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/multiclock.lus
 Opening file should_work/NONREG/multiclock.lus
@@ -3712,6 +3776,7 @@ let
 tel
 -- end of node multiclock::multiclock
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/nc1.lus
 Opening file should_work/NONREG/nc1.lus
@@ -3734,6 +3799,7 @@ let
 tel
 -- end of node nc1::nc1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/nc10.lus
 Opening file should_work/NONREG/nc10.lus
@@ -3795,6 +3861,7 @@ let
 tel
 -- end of node nc10::nc10
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/nc2.lus
 Opening file should_work/NONREG/nc2.lus
@@ -3823,6 +3890,7 @@ let
 tel
 -- end of node nc2::nc2
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/nc3.lus
 Opening file should_work/NONREG/nc3.lus
@@ -3857,6 +3925,7 @@ let
 tel
 -- end of node nc3::nc3
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/nc4.lus
 Opening file should_work/NONREG/nc4.lus
@@ -3901,6 +3970,7 @@ let
 tel
 -- end of node nc4::nc4
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/nc5.lus
 Opening file should_work/NONREG/nc5.lus
@@ -3935,6 +4005,7 @@ let
 tel
 -- end of node nc5::nc5
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/nc6.lus
 Opening file should_work/NONREG/nc6.lus
@@ -3978,6 +4049,7 @@ let
 tel
 -- end of node nc6::nc6
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/nc7.lus
 Opening file should_work/NONREG/nc7.lus
@@ -4027,6 +4099,7 @@ let
 tel
 -- end of node nc7::nc7
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/nc8.lus
 Opening file should_work/NONREG/nc8.lus
@@ -4081,6 +4154,7 @@ let
 tel
 -- end of node nc8::nc8
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/nc9.lus
 Opening file should_work/NONREG/nc9.lus
@@ -4138,6 +4212,7 @@ let
 tel
 -- end of node nc9::nc9
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/node_caller1.lus
 Opening file should_work/NONREG/node_caller1.lus
@@ -4184,6 +4259,7 @@ let
 tel
 -- end of node node_caller1::node_caller1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/o2l_feux_compl.lus
 Opening file should_work/NONREG/o2l_feux_compl.lus
@@ -7084,6 +7160,7 @@ let
 tel
 -- end of node o2l_feux_compl::o2l_feux_compl
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/packed_cst.lus
 Opening file should_work/NONREG/packed_cst.lus
@@ -7107,6 +7184,7 @@ let
 tel
 -- end of node cst::cst
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/patrick.lus
 Opening file should_work/NONREG/patrick.lus
@@ -7121,6 +7199,7 @@ let
 tel
 -- end of node patrick::patrick
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/poussoir.lus
 Opening file should_work/NONREG/poussoir.lus
@@ -7173,6 +7252,7 @@ let
 tel
 -- end of node poussoir::poussoir
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/rs.lus
 Opening file should_work/NONREG/rs.lus
@@ -7205,6 +7285,7 @@ let
 tel
 -- end of node rs::rs
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/s.lus
 Opening file should_work/NONREG/s.lus
@@ -7215,6 +7296,7 @@ let
 tel
 -- end of node s::s
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/simple.lus
 Opening file should_work/NONREG/simple.lus
@@ -7245,6 +7327,7 @@ tel
 extern function simple::f1(x:int) returns (y:int);
 extern function simple::f2(u:int; v:int) returns (s:int; t:bool);
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/stopwatch.lus
 Opening file should_work/NONREG/stopwatch.lus
@@ -7331,6 +7414,7 @@ let
 tel
 -- end of node stopwatch::stopwatch
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/testCA.lus
 Opening file should_work/NONREG/testCA.lus
@@ -7355,6 +7439,7 @@ let
 tel
 -- end of node testCA::testCA
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/test_clash.lus
 Opening file should_work/NONREG/test_clash.lus
@@ -7374,6 +7459,7 @@ let
 tel
 -- end of node test::toto
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/trivial.lus
 Opening file should_work/NONREG/trivial.lus
@@ -7395,6 +7481,7 @@ let
 tel
 -- end of node trivial::trivial
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/trivial2.lus
 Opening file should_work/NONREG/trivial2.lus
@@ -7419,6 +7506,7 @@ let
 tel
 -- end of node trivial2::trivial2
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/uu.lus
 Opening file should_work/NONREG/uu.lus
@@ -7519,6 +7607,7 @@ let
 tel
 -- end of node uu::uu
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/NONREG/v1.lus
 Opening file should_work/NONREG/v1.lus
@@ -7531,6 +7620,7 @@ let
 tel
 -- end of node v1::v1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/consensus.lus
 Opening file should_work/Pascal/consensus.lus
@@ -7694,6 +7784,7 @@ type A_bool_2 = bool^2;
 type A_bool_6 = bool^6;
 type A_bool_10 = bool^10;
 type A_bool_3 = bool^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/fby.lus
 Opening file should_work/Pascal/fby.lus
@@ -7720,6 +7811,7 @@ let
 tel
 -- end of node fby::rising_edge
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/func_with_body.lus
 Opening file should_work/Pascal/func_with_body.lus
@@ -7730,6 +7822,7 @@ let
 tel
 -- end of node func_with_body::trivial
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/heater_control.lus
 Opening file should_work/Pascal/heater_control.lus
@@ -7975,6 +8068,7 @@ let
 tel
 -- end of node heater_control::not_a_sauna
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/left.lus
 Opening file should_work/Pascal/left.lus
@@ -7993,6 +8087,7 @@ tel
 -- automatically defined aliases:
 type A__left::truc_3 = _left::truc^3;
 type A_bool_100 = bool^100;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/newpacks.lus
 Opening file should_work/Pascal/newpacks.lus
@@ -8059,6 +8154,7 @@ tel
 -- end of node mainPack::preced
 const inter::n = -4;
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/onlyroll.lus
 Opening file should_work/Pascal/onlyroll.lus
@@ -9167,6 +9263,7 @@ let
 tel
 -- end of node onlyroll::InHardoverRange
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/p.lus
 Opening file should_work/Pascal/p.lus
@@ -9233,6 +9330,7 @@ tel
 -- end of node mainPack::preced
 const inter::n = -4;
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/packs.lus
 Opening file should_work/Pascal/packs.lus
@@ -9304,6 +9402,7 @@ tel
 -- end of node mainPack::preced
 type _inter::toto = enum {inter::X, inter::Y};
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/pfs.lus
 Opening file should_work/Pascal/pfs.lus
@@ -9321,6 +9420,7 @@ let
 tel
 -- end of node struct0::bibi
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/t.lus
 Opening file should_work/Pascal/t.lus
@@ -9335,6 +9435,7 @@ tel
 -- automatically defined aliases:
 type A_A_int_2_3 = A_int_2^3;
 type A_int_2 = int^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/t0.lus
 Opening file should_work/Pascal/t0.lus
@@ -9412,6 +9513,7 @@ type A_int_2 = int^2;
 type A_int_3 = int^3;
 type A_int_4 = int^4;
 type A_int_1 = int^1;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/t1.lus
 Opening file should_work/Pascal/t1.lus
@@ -9475,6 +9577,7 @@ type A_bool_3 = bool^3;
 type A_bool_4 = bool^4;
 type A_bool_1 = bool^1;
 type A_bool_2 = bool^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/t2.lus
 Opening file should_work/Pascal/t2.lus
@@ -9488,6 +9591,7 @@ Opening file should_work/Pascal/test.lus
 const P1::y = 3;
 type _P1::titi = int^5;
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/Pascal/trivial.lus
 Opening file should_work/Pascal/trivial.lus
@@ -9497,6 +9601,7 @@ let
 tel
 -- end of node trivial::trivial
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/call/bad_call02.lus
 Opening file should_work/call/bad_call02.lus
@@ -9506,10 +9611,11 @@ let
 tel
 -- end of node bad_call02::bad_call02
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/call/bad_call03.lus
 Opening file should_work/call/bad_call03.lus
-function bad_call03::toto(i1:A_o_3; i2:A_o_3) returns (o:A_o_3);
+node bad_call03::toto(i1:A_o_3; i2:A_o_3) returns (o:A_o_3);
 let
    o = (Lustre::map<<Lustre::plus, 3>>(i1, i2));
 tel
@@ -9537,10 +9643,11 @@ tel
 type A_int_3 = int^3;
 type A_o_3 = o^3;
 type A_real_3 = real^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/call/call01.lus
 Opening file should_work/call/call01.lus
-function call01::toto(i1:bool; i2:bool) returns (o:bool);
+node call01::toto(i1:bool; i2:bool) returns (o:bool);
 let
    o = (Lustre::and(i1, i2));
 tel
@@ -9552,15 +9659,16 @@ tel
 -- end of node call01::call01
 extern function call01::momo(x:bool; y:bool) returns (z:bool);
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/call/call02.lus
 Opening file should_work/call/call02.lus
-function call02::toto(i1:bool; i2:bool) returns (o:bool);
+node call02::toto(i1:bool; i2:bool) returns (o:bool);
 let
    o = (Lustre::and(i1, i2));
 tel
 -- end of node call02::toto
-function call02::titi(i1:bool; i2:bool) returns (o:bool);
+node call02::titi(i1:bool; i2:bool) returns (o:bool);
 let
    o = (call02::toto(i1, i2));
 tel
@@ -9571,10 +9679,11 @@ let
 tel
 -- end of node call02::call02
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/call/call03.lus
 Opening file should_work/call/call03.lus
-function call03::tutu(i1:A_bool_2; i2:A_bool_2) returns (o:A_bool_2);
+node call03::tutu(i1:A_bool_2; i2:A_bool_2) returns (o:A_bool_2);
 let
    o = (Lustre::map<<Lustre::or, 2>>(i1, i2));
 tel
@@ -9587,20 +9696,21 @@ tel
 extern function call03::momo(x:bool; y:bool) returns (z:bool);
 -- automatically defined aliases:
 type A_bool_2 = bool^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/call/call04.lus
 Opening file should_work/call/call04.lus
-function call04::toto(i1:bool; i2:bool) returns (o:bool);
+node call04::toto(i1:bool; i2:bool) returns (o:bool);
 let
    o = (Lustre::and(i1, i2));
 tel
 -- end of node call04::toto
-function call04::titi(i1:bool; i2:bool) returns (o:bool);
+node call04::titi(i1:bool; i2:bool) returns (o:bool);
 let
    o = (call04::toto(i1, i2));
 tel
 -- end of node call04::titi
-function call04::tutu(i1:A_bool_2; i2:A_bool_2) returns (o:A_bool_2);
+node call04::tutu(i1:A_bool_2; i2:A_bool_2) returns (o:A_bool_2);
 let
    o = (Lustre::map<<call04::titi, 2>>(i1, i2));
 tel
@@ -9612,6 +9722,7 @@ tel
 -- end of node call04::call04
 -- automatically defined aliases:
 type A_bool_2 = bool^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/call/call05.lus
 Opening file should_work/call/call05.lus
@@ -9622,6 +9733,7 @@ let
 tel
 -- end of node call05::call05
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/call/call06.lus
 Opening file should_work/call/call06.lus
@@ -9633,6 +9745,7 @@ let
 tel
 -- end of node call06::call06
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/call/call07.lus
 Opening file should_work/call/call07.lus
@@ -9642,6 +9755,7 @@ let
 tel
 -- end of node call07::call07
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/clock/clock.lus
 Opening file should_work/clock/clock.lus
@@ -9693,6 +9807,7 @@ returns (
 	clock2_y:bool);
 -- automatically defined aliases:
 type A_bool_10 = bool^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/clock/clock2.lus
 Opening file should_work/clock/clock2.lus
@@ -9707,6 +9822,7 @@ let
 tel
 -- end of node clock2::clock
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/clock/clock_ite.lus
 Opening file should_work/clock/clock_ite.lus
@@ -9725,6 +9841,7 @@ let
 tel
 -- end of node clock_ite::clock
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/clock/when_enum.lus
 Opening file should_work/clock/when_enum.lus
@@ -10358,16 +10475,17 @@ type A_real_4 = real^4;
 type A__Gyroscope2::Faulty_ChannelT_4 = _Gyroscope2::Faulty_ChannelT^4;
 type A_A__Gyroscope2::Faulty_ChannelT_4_3 = A__Gyroscope2::Faulty_ChannelT_4^3;
 type A_bool_3 = bool^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/alias.lus
 Opening file should_work/demo/alias.lus
 const alias::SIZE = 3;
-function alias::aliasIterOp(i1:int; i2:A_int_3) returns (o:int);
+node alias::aliasIterOp(i1:int; i2:A_int_3) returns (o:int);
 let
    o = (Lustre::red<<Lustre::iplus, 3>>(i1, i2));
 tel
 -- end of node alias::aliasIterOp
-function alias::aliasBoolRed(i:A_bool_2) returns (o:bool);
+node alias::aliasBoolRed(i:A_bool_2) returns (o:bool);
 let
    o = (Lustre::boolred<<0, 1, 2>>(i));
 tel
@@ -10387,7 +10505,7 @@ let
    c = (alias::unNoeud(a, b));
 tel
 -- end of node alias::aliasGivenNode
-function alias::aliasPredefNot(i:bool) returns (o:bool);
+node alias::aliasPredefNot(i:bool) returns (o:bool);
 let
    o = (Lustre::not (i));
 tel
@@ -10408,6 +10526,7 @@ tel
 -- automatically defined aliases:
 type A_bool_2 = bool^2;
 type A_int_3 = int^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/bred.lus
 Opening file should_work/demo/bred.lus
@@ -10418,6 +10537,7 @@ tel
 -- end of node bred::bred
 -- automatically defined aliases:
 type A_bool_2 = bool^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/bred_lv4.lus
 Opening file should_work/demo/bred_lv4.lus
@@ -10429,6 +10549,7 @@ tel
 -- end of node bred_lv4::bred
 -- automatically defined aliases:
 type A_bool_2 = bool^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/clock.lus
 Opening file should_work/demo/clock.lus
@@ -10461,6 +10582,7 @@ let
 tel
 -- end of node clock::clock
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/clock1_2ms.lus
 Opening file should_work/demo/clock1_2ms.lus
@@ -10499,6 +10621,7 @@ let
 tel
 -- end of node clock1_2ms::clock1_2ms
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/decl.lus
 Opening file should_work/demo/decl.lus
@@ -10543,6 +10666,7 @@ returns (
 type A_A__decl::t1_8_5 = A__decl::t1_8^5;
 type A__decl::t1_8 = _decl::t1^8;
 type A_bool_2 = bool^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/declaration.lus
 Opening file should_work/demo/declaration.lus
@@ -10610,6 +10734,7 @@ tel
 type A_A__declaration::t1_8_5 = A__declaration::t1_8^5;
 type A__declaration::t1_8 = _declaration::t1^8;
 type A_bool_2 = bool^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/def.lus
 Opening file should_work/demo/def.lus
@@ -10816,6 +10941,7 @@ type A_A_A_int_4_4_4 = A_A_int_4_4^4;
 type A_A_int_4_4 = A_int_4^4;
 type A__def::structT_2 = _def::structT^2;
 type A_int_4 = int^4;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/filliter.lus
 Opening file should_work/demo/filliter.lus
@@ -10854,6 +10980,7 @@ tel
 -- automatically defined aliases:
 type A_int_3 = int^3;
 type A_int_4 = int^4;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/filter.lus
 Opening file should_work/demo/filter.lus
@@ -10887,6 +11014,7 @@ let
 tel
 -- end of node filter::filter
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/lustre_test1_ok.lus
 Opening file should_work/demo/lustre_test1_ok.lus
@@ -11008,6 +11136,7 @@ let
 tel
 -- end of node lustre_test1_ok::lustre_test1_ok
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/map_red_iter.lus
 Opening file should_work/demo/map_red_iter.lus
@@ -11057,6 +11186,7 @@ tel
 type A_int_20 = int^20;
 type A_bool_20 = bool^20;
 type A_int_4 = int^4;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/mapdeRed.lus
 Opening file should_work/demo/mapdeRed.lus
@@ -11078,13 +11208,23 @@ returns (
 	T:A_A_int_2_3;
 	bid:int);
 let
-   (bid, T) = (fill<<Lustre::fill<<mapdeRed::incr, 2>>, 3>>(init2));
-   r = (red<<Lustre::map<<Lustre::plus, 2>>, 3>>(init, T));
+   (bid, T) = (fill<<_node_alias_1_Lustre::fill, 3>>(init2));
+   r = (red<<_node_alias_2_Lustre::map, 3>>(init, T));
 tel
 -- end of node mapdeRed::mapdeRed
 -- automatically defined aliases:
 type A_A_int_2_3 = A_int_2^3;
 type A_int_2 = int^2;
+node _node_alias_2_Lustre::map(i1:A_o_2; i2:A_o_2) returns (o:A_o_2);
+let
+  o = Lustre::map<<Lustre::plus, 2>>(i1);
+tel
+node _node_alias_1_Lustre::fill(i:int) returns (accu:int; s:A_int_2);
+let
+  accu = Lustre::fill<<mapdeRed::incr, 2>>(i);
+tel
+
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/mapiter.lus
 Opening file should_work/demo/mapiter.lus
@@ -11095,12 +11235,18 @@ tel
 -- end of node mapiter::incr_tab
 node mapiter::mapiter(i1:A_A_int_7_3) returns (s1:A_A_int_7_3);
 let
-   s1 = (map<<Lustre::map<<mapiter::incr_tab, 7>>, 3>>(i1));
+   s1 = (map<<_node_alias_1_Lustre::map, 3>>(i1));
 tel
 -- end of node mapiter::mapiter
 -- automatically defined aliases:
 type A_A_int_7_3 = A_int_7^3;
 type A_int_7 = int^7;
+node _node_alias_1_Lustre::map(a:A_int_7) returns (b:A_int_7);
+let
+  b = Lustre::map<<mapiter::incr_tab, 7>>(a);
+tel
+
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/mappredef.lus
 Opening file should_work/demo/mappredef.lus
@@ -11132,6 +11278,7 @@ tel
 -- automatically defined aliases:
 type A_bool_3 = bool^3;
 type A_int_3 = int^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/plus.lus
 Opening file should_work/demo/plus.lus
@@ -11168,6 +11315,7 @@ tel
 -- end of node plus::plus
 -- automatically defined aliases:
 type A_bool_2 = bool^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/pre_x.lus
 Opening file should_work/demo/pre_x.lus
@@ -11192,6 +11340,7 @@ let
 tel
 -- end of node pre_x::pre_x
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/rediter.lus
 Opening file should_work/demo/rediter.lus
@@ -11205,12 +11354,18 @@ tel
 -- end of node rediter::max
 node rediter::rediter(a:A_A_int_5_3) returns (b:int);
 let
-   b = (red<<Lustre::red<<rediter::max, 5>>, 3>>(0, a));
+   b = (red<<_node_alias_1_Lustre::red, 3>>(0, a));
 tel
 -- end of node rediter::rediter
 -- automatically defined aliases:
 type A_A_int_5_3 = A_int_5^3;
 type A_int_5 = int^5;
+node _node_alias_1_Lustre::red(init:int; a:A_int_5) returns (b:int);
+let
+  b = Lustre::red<<rediter::max, 5>>(init);
+tel
+
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/redoptest.lus
 Opening file should_work/demo/redoptest.lus
@@ -11224,12 +11379,18 @@ tel
 -- end of node redoptest::max
 node redoptest::redoptest(a:A_A_int_5_3) returns (b:int);
 let
-   b = (red<<Lustre::red<<Lustre::plus, 5>>, 3>>(0, a));
+   b = (red<<_node_alias_1_Lustre::red, 3>>(0, a));
 tel
 -- end of node redoptest::redoptest
 -- automatically defined aliases:
 type A_A_int_5_3 = A_int_5^3;
 type A_int_5 = int^5;
+node _node_alias_1_Lustre::red(i1:o; i2:A_o_5) returns (o:o);
+let
+  o = Lustre::red<<Lustre::plus, 5>>(i1);
+tel
+
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/demo/sample_time_change.lus
 Opening file should_work/demo/sample_time_change.lus
@@ -11374,6 +11535,7 @@ let
 tel
 -- end of node sample_time_change::MainNode
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/bob.lus
 Opening file should_work/fab_test/bob.lus
@@ -11397,6 +11559,7 @@ let
 tel
 -- end of node bob::bob
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/def.lus
 Opening file should_work/fab_test/def.lus
@@ -11407,6 +11570,7 @@ let
 tel
 -- end of node def::def
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/ex.lus
 Opening file should_work/fab_test/ex.lus
@@ -11436,6 +11600,7 @@ let
 tel
 -- end of node ex::ex
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/iter.lus
 Opening file should_work/fab_test/iter.lus
@@ -11492,6 +11657,7 @@ tel
 -- end of node iter::plus
 -- automatically defined aliases:
 type A_int_5 = int^5;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/iterate.lus
 Opening file should_work/fab_test/iterate.lus
@@ -11577,6 +11743,7 @@ tel
 -- end of node iterate::iterate
 -- automatically defined aliases:
 type A_int_10 = int^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/lecteur.lus
 Opening file should_work/fab_test/lecteur.lus
@@ -11676,6 +11843,7 @@ let
 tel
 -- end of node lecteur::lecteur
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/lucky.lus
 Opening file should_work/fab_test/lucky.lus
@@ -11786,6 +11954,7 @@ let
 tel
 -- end of node lucky::lucky
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/morel.lus
 Opening file should_work/fab_test/morel.lus
@@ -11895,6 +12064,7 @@ tel
 type A_bool_3 = bool^3;
 type A_int_2 = int^2;
 type A_A_int_2_3 = A_int_2^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/morel2.lus
 Opening file should_work/fab_test/morel2.lus
@@ -11993,6 +12163,7 @@ tel
 type A_bool_3 = bool^3;
 type A_int_2 = int^2;
 type A_A_int_2_3 = A_int_2^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/morel3.lus
 Opening file should_work/fab_test/morel3.lus
@@ -12096,6 +12267,7 @@ tel
 type A_bool_3 = bool^3;
 type A_int_2 = int^2;
 type A_A_int_2_3 = A_int_2^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/morel4.lus
 Opening file should_work/fab_test/morel4.lus
@@ -12216,6 +12388,7 @@ tel
 type A_bool_3 = bool^3;
 type A_int_2 = int^2;
 type A_A_int_2_3 = A_int_2^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/morel5.lus
 Opening file should_work/fab_test/morel5.lus
@@ -12350,6 +12523,7 @@ type A_A_int_2_2 = A_int_2^2;
 type A_bool_3 = bool^3;
 type A_int_2 = int^2;
 type A_A_int_2_3 = A_int_2^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/noAlarm.lus
 Opening file should_work/fab_test/noAlarm.lus
@@ -12359,6 +12533,7 @@ let
 tel
 -- end of node noAlarm::noAlarm
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/notTwo.lus
 Opening file should_work/fab_test/notTwo.lus
@@ -12371,6 +12546,7 @@ let
 tel
 -- end of node notTwo::notTwo
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/onlyroll.lus
 Opening file should_work/fab_test/onlyroll.lus
@@ -13482,6 +13658,7 @@ let
 tel
 -- end of node onlyroll::InHardoverRange
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/onlyroll2.lus
 Opening file should_work/fab_test/onlyroll2.lus
@@ -14597,6 +14774,7 @@ let
 tel
 -- end of node onlyroll2::InHardoverRange
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/test.lus
 Opening file should_work/fab_test/test.lus
@@ -14670,6 +14848,7 @@ let
 tel
 -- end of node test::test
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/titi.lus
 Opening file should_work/fab_test/titi.lus
@@ -14682,6 +14861,7 @@ let
 tel
 -- end of node titi::titi
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/toolate.lus
 Opening file should_work/fab_test/toolate.lus
@@ -14808,6 +14988,7 @@ type A_int_2 = int^2;
 type A_int_5 = int^5;
 type A_int_3 = int^3;
 type A_A_int_5_6 = A_int_5^6;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/fab_test/toto.lus
 Opening file should_work/fab_test/toto.lus
@@ -14826,6 +15007,7 @@ let
 tel
 -- end of node toto::toto
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/FillFollowedByRed.lus
 Opening file should_work/lionel/FillFollowedByRed.lus
@@ -14868,6 +15050,7 @@ tel
 -- end of node FillFollowedByRed::FillFollowedByRed
 -- automatically defined aliases:
 type A_real_10 = real^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/Gyroscope.lus
 Opening file should_work/lionel/Gyroscope.lus
@@ -15312,6 +15495,7 @@ type A_A__Gyroscope::Faulty_ChannelT_4_3 = A__Gyroscope::Faulty_ChannelT_4^3;
 type A__Gyroscope::Faulty_ChannelT_4 = _Gyroscope::Faulty_ChannelT^4;
 type A_real_3 = real^3;
 type A__Gyroscope::Valid_ChannelT_4 = _Gyroscope::Valid_ChannelT^4;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/ProduitBool/produitBool.lus
 Opening file should_work/lionel/ProduitBool/produitBool.lus
@@ -15463,6 +15647,7 @@ tel
 type A_A_bool_20_10 = A_bool_20^10;
 type A_bool_10 = bool^10;
 type A_bool_20 = bool^20;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/ProduitBool/shiftFill_ludic.lus
 Opening file should_work/lionel/ProduitBool/shiftFill_ludic.lus
@@ -15544,6 +15729,7 @@ tel
 -- end of node shiftFill_ludic::n_shiftFill
 -- automatically defined aliases:
 type A_bool_10 = bool^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/ProduitBool/shift_ludic.lus
 Opening file should_work/lionel/ProduitBool/shift_ludic.lus
@@ -15639,6 +15825,7 @@ tel
 -- automatically defined aliases:
 type A_bool_20 = bool^20;
 type A_bool_10 = bool^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/arrays.lus
 Opening file should_work/lionel/arrays.lus
@@ -15657,20 +15844,19 @@ tel
 -- end of node arrays::incr
 node arrays::big_sum(x:A_A_A_int_4_3_2) returns (s:int);
 let
-   s = (red<<Lustre::red<<Lustre::red<<Lustre::plus, 4>>, 3>>, 2>>(0, x));
+   s = (red<<_node_alias_1_Lustre::red, 2>>(0, x));
 tel
 -- end of node arrays::big_sum
 node arrays::big_or(x:A_A_A_bool_4_3_2) returns (s:bool);
 let
-   s = (red<<Lustre::red<<Lustre::red<<Lustre::or, 4>>, 3>>, 2>>(false, x));
+   s = (red<<_node_alias_2_Lustre::red, 2>>(false, x));
 tel
 -- end of node arrays::big_or
 node arrays::big_incr(init:int) returns (x:A_A_A_int_4_3_2);
 var
    accout:int;
 let
-    (accout, x) = (fill<<Lustre::fill<<Lustre::fill<<arrays::incr, 4>>, 3>>,
-	 2>>(init));
+   (accout, x) = (fill<<_node_alias_3_Lustre::fill, 2>>(init));
 tel
 -- end of node arrays::big_incr
 
@@ -15702,13 +15888,12 @@ returns (
 var
    co:bool;
 let
-    (co, s) = (fillred<<Lustre::fillred<<Lustre::fillred<<arrays::full_adder,
-	 4>>, 3>>, 2>>(false, x, y));
+   (co, s) = (fillred<<_node_alias_4_Lustre::fillred, 2>>(false, x, y));
 tel
 -- end of node arrays::add_long
 node arrays::big_xor(x:A_A_A_bool_4_3_2) returns (s:bool);
 let
-   s = (red<<Lustre::red<<Lustre::red<<Lustre::xor, 4>>, 3>>, 2>>(false, x));
+   s = (red<<_node_alias_5_Lustre::red, 2>>(false, x));
 tel
 -- end of node arrays::big_xor
 
@@ -15748,6 +15933,49 @@ type A_bool_4 = bool^4;
 type A_A_int_4_3 = A_int_4^3;
 type A_A_A_bool_4_3_2 = A_A_bool_4_3^2;
 type A_int_4 = int^4;
+node _node_alias_4_Lustre::fillred(ci:bool; x:A_A_bool_4_3; y:A_A_bool_4_3) returns (co:bool; s:A_A_bool_4_3);
+let
+  co = Lustre::fillred<<_node_alias_6_Lustre::fillred, 3>>(ci);
+tel
+node _node_alias_5_Lustre::red(i1:bool; i2:A_A_bool_4_3) returns (o:bool);
+let
+  o = Lustre::red<<_node_alias_7_Lustre::red, 3>>(i1);
+tel
+node _node_alias_3_Lustre::fill(accin:int) returns (accout:int; val:A_A_int_4_3);
+let
+  accout = Lustre::fill<<_node_alias_8_Lustre::fill, 3>>(accin);
+tel
+node _node_alias_2_Lustre::red(i1:bool; i2:A_A_bool_4_3) returns (o:bool);
+let
+  o = Lustre::red<<_node_alias_9_Lustre::red, 3>>(i1);
+tel
+node _node_alias_1_Lustre::red(i1:o; i2:A_A_o_4_3) returns (o:o);
+let
+  o = Lustre::red<<_node_alias_10_Lustre::red, 3>>(i1);
+tel
+
+node _node_alias_8_Lustre::fill(accin:int) returns (accout:int; val:A_int_4);
+let
+  accout = Lustre::fill<<arrays::incr, 4>>(accin);
+tel
+node _node_alias_7_Lustre::red(i1:bool; i2:A_bool_4) returns (o:bool);
+let
+  o = Lustre::red<<Lustre::xor, 4>>(i1);
+tel
+node _node_alias_6_Lustre::fillred(ci:bool; x:A_bool_4; y:A_bool_4) returns (co:bool; s:A_bool_4);
+let
+  co = Lustre::fillred<<arrays::full_adder, 4>>(ci);
+tel
+node _node_alias_10_Lustre::red(i1:o; i2:A_o_4) returns (o:o);
+let
+  o = Lustre::red<<Lustre::plus, 4>>(i1);
+tel
+node _node_alias_9_Lustre::red(i1:bool; i2:A_bool_4) returns (o:bool);
+let
+  o = Lustre::red<<Lustre::or, 4>>(i1);
+tel
+
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/calculs_max.lus
 Opening file should_work/lionel/calculs_max.lus
@@ -15830,6 +16058,7 @@ tel
 -- automatically defined aliases:
 type A_int_10 = int^10;
 type A_bool_10 = bool^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/deSimone.lus
 Opening file should_work/lionel/deSimone.lus
@@ -15902,6 +16131,7 @@ tel
 -- end of node deSimone::prop1
 -- automatically defined aliases:
 type A_bool_10 = bool^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/iterFibo.lus
 Opening file should_work/lionel/iterFibo.lus
@@ -15937,6 +16167,7 @@ tel
 -- automatically defined aliases:
 type A_int_10 = int^10;
 type A_int_2 = int^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/mapiter.lus
 Opening file should_work/lionel/mapiter.lus
@@ -15954,7 +16185,7 @@ let
    _v2 = (init + 1);
 tel
 -- end of node mapiter::incr
-function mapiter::map_egal(i1:A_a_2; i2:A_a_2) returns (o:A_bool_2);
+node mapiter::map_egal(i1:A_a_2; i2:A_a_2) returns (o:A_bool_2);
 let
    o = (Lustre::map<<Lustre::equal, 2>>(i1, i2));
 tel
@@ -15965,7 +16196,7 @@ let
    out = in;
 tel
 -- end of node mapiter::bitalt
-function mapiter::fill_bitalt(in:bool) returns (sacc:bool; out:A_bool_2);
+node mapiter::fill_bitalt(in:bool) returns (sacc:bool; out:A_bool_2);
 let
    (sacc, out) = (Lustre::fill<<mapiter::bitalt, 2>>(in));
 tel
@@ -15975,7 +16206,7 @@ let
    (sacc, R) = (fill<<mapiter::fill_bitalt, 3>>(iacc));
 tel
 -- end of node mapiter::initmat
-function mapiter::red_incr(init:int; b:A_bool_2) returns (res:int);
+node mapiter::red_incr(init:int; b:A_bool_2) returns (res:int);
 let
    res = (Lustre::red<<mapiter::incr, 2>>(init, b));
 tel
@@ -16015,6 +16246,7 @@ tel
 type A_A_bool_2_3 = A_bool_2^3;
 type A_a_2 = a^2;
 type A_bool_2 = bool^2;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/matrice.lus
 Opening file should_work/lionel/matrice.lus
@@ -16050,15 +16282,25 @@ returns (
 var
    _v1:A_int_2;
 let
-   (bid, T) = (fill<<Lustre::fill<<matrice::fibo, 3>>, 2>>(_v1));
+   (bid, T) = (fill<<_node_alias_1_Lustre::fill, 2>>(_v1));
    _v1 = ([a, a]);
-   sum = (red<<Lustre::red<<Lustre::plus, 3>>, 2>>(0, T));
+   sum = (red<<_node_alias_2_Lustre::red, 2>>(0, T));
 tel
 -- end of node matrice::matrice
 -- automatically defined aliases:
 type A_int_2 = int^2;
 type A_A_int_3_2 = A_int_3^2;
 type A_int_3 = int^3;
+node _node_alias_2_Lustre::red(i1:o; i2:A_o_3) returns (o:o);
+let
+  o = Lustre::red<<Lustre::plus, 3>>(i1);
+tel
+node _node_alias_1_Lustre::fill(accu_in:A_int_2) returns (accu_out:A_int_2; elt:A_int_3);
+let
+  accu_out = Lustre::fill<<matrice::fibo, 3>>(accu_in);
+tel
+
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/matrice2.lus
 Opening file should_work/lionel/matrice2.lus
@@ -16069,7 +16311,7 @@ var
    _v1:A_int_2;
    _v2:A_A_int_2_2;
 let
-   res = (red<<Lustre::red<<Lustre::plus, 2>>, 2>>(0, _v2));
+   res = (red<<_node_alias_1_Lustre::red, 2>>(0, _v2));
    _v1 = (1^2);
    _v2 = (_v1^2);
 tel
@@ -16077,6 +16319,12 @@ tel
 -- automatically defined aliases:
 type A_A_int_2_2 = A_int_2^2;
 type A_int_2 = int^2;
+node _node_alias_1_Lustre::red(i1:o; i2:A_o_2) returns (o:o);
+let
+  o = Lustre::red<<Lustre::plus, 2>>(i1);
+tel
+
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/minus.lus
 Opening file should_work/lionel/minus.lus
@@ -16104,11 +16352,11 @@ var
    _v3:A_bool_3;
    _v4:bool;
 let
-   T1 = (map<<Lustre::map<<Lustre::if, 3>>, 2>>(a, b, c));
-   (bid, T2) = (fill<<Lustre::fill<<minus::bitalt, 3>>, 2>>(_v2));
+   T1 = (map<<_node_alias_1_Lustre::map, 2>>(a, b, c));
+   (bid, T2) = (fill<<_node_alias_2_Lustre::fill, 2>>(_v2));
    _v1 = a[0];
    _v2 = _v1[0];
-   r = (red<<Lustre::red<<Lustre::xor, 3>>, 2>>(_v4, T1));
+   r = (red<<_node_alias_3_Lustre::red, 2>>(_v4, T1));
    _v3 = a[0];
    _v4 = _v3[0];
 tel
@@ -16116,6 +16364,20 @@ tel
 -- automatically defined aliases:
 type A_A_bool_3_2 = A_bool_3^2;
 type A_bool_3 = bool^3;
+node _node_alias_2_Lustre::fill(a:bool) returns (out:bool; b:A_bool_3);
+let
+  out = Lustre::fill<<minus::bitalt, 3>>(a);
+tel
+node _node_alias_3_Lustre::red(i1:bool; i2:A_bool_3) returns (o:bool);
+let
+  o = Lustre::red<<Lustre::xor, 3>>(i1);
+tel
+node _node_alias_1_Lustre::map(c:A_bool_3; b1:A_a_3; b2:A_a_3) returns (o:A_a_3);
+let
+  o = Lustre::map<<Lustre::if, 3>>(c);
+tel
+
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/moyenne.lus
 Opening file should_work/lionel/moyenne.lus
@@ -16144,6 +16406,7 @@ tel
 -- end of node moyenne::moyenne
 -- automatically defined aliases:
 type A_real_10 = real^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/normal.lus
 Opening file should_work/lionel/normal.lus
@@ -16516,6 +16779,7 @@ type A_bool_20 = bool^20;
 type A_A_bool_20_4 = A_bool_20^4;
 type A_A_int_20_4 = A_int_20^4;
 type A_int_20 = int^20;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/pipeline.lus
 Opening file should_work/lionel/pipeline.lus
@@ -16550,6 +16814,7 @@ tel
 -- end of node pipeline::pipeline
 -- automatically defined aliases:
 type A_bool_10 = bool^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/predefOp.lus
 Opening file should_work/lionel/predefOp.lus
@@ -16582,7 +16847,7 @@ returns (
 	sacc:bool;
 	R:A_A_bool_2_3);
 let
-   (sacc, R) = (fill<<Lustre::fill<<predefOp::bitalt, 2>>, 3>>(iacc));
+   (sacc, R) = (fill<<_node_alias_1_Lustre::fill, 3>>(iacc));
 tel
 -- end of node predefOp::initmatbool
 
@@ -16592,12 +16857,12 @@ node predefOp::composematbool(
 returns (
 	s1:A_A_bool_2_3);
 let
-   s1 = (map<<Lustre::map<<Lustre::=>, 2>>, 3>>(i1, i2));
+   s1 = (map<<_node_alias_2_Lustre::map, 3>>(i1, i2));
 tel
 -- end of node predefOp::composematbool
 node predefOp::reducematbool(iacc:int; I:A_A_bool_2_3) returns (res:int);
 let
-   res = (red<<Lustre::red<<predefOp::incr, 2>>, 3>>(iacc, I));
+   res = (red<<_node_alias_3_Lustre::red, 3>>(iacc, I));
 tel
 -- end of node predefOp::reducematbool
 
@@ -16628,8 +16893,8 @@ returns (
 	s1:A_A_int_2_3;
 	s2:A_A_bool_2_3);
 let
-   s1 = (map<<Lustre::map<<Lustre::div, 2>>, 3>>(i1, i2));
-   s2 = (map<<Lustre::map<<Lustre::gte, 2>>, 3>>(i1, i2));
+   s1 = (map<<_node_alias_4_Lustre::map, 3>>(i1, i2));
+   s2 = (map<<_node_alias_5_Lustre::map, 3>>(i1, i2));
 tel
 -- end of node predefOp::composematint
 node predefOp::incremental(iacc:int) returns (oacc:int; res:int);
@@ -16640,12 +16905,12 @@ tel
 -- end of node predefOp::incremental
 node predefOp::reducematint(iacc:int; I:A_A_int_2_3) returns (res:int);
 let
-   res = (red<<Lustre::red<<Lustre::plus, 2>>, 3>>(iacc, I));
+   res = (red<<_node_alias_6_Lustre::red, 3>>(iacc, I));
 tel
 -- end of node predefOp::reducematint
 node predefOp::initmatint(iacc:int) returns (sacc:int; R:A_A_int_2_3);
 let
-   (sacc, R) = (fill<<Lustre::fill<<predefOp::incremental, 2>>, 3>>(iacc));
+   (sacc, R) = (fill<<_node_alias_7_Lustre::fill, 3>>(iacc));
 tel
 -- end of node predefOp::initmatint
 
@@ -16674,6 +16939,36 @@ type A_int_2 = int^2;
 type A_A_bool_2_3 = A_bool_2^3;
 type A_A_int_2_3 = A_int_2^3;
 type A_bool_2 = bool^2;
+node _node_alias_1_Lustre::fill(iacc:bool) returns (oacc:bool; res:A_bool_2);
+let
+  oacc = Lustre::fill<<predefOp::bitalt, 2>>(iacc);
+tel
+node _node_alias_7_Lustre::fill(iacc:int) returns (oacc:int; res:A_int_2);
+let
+  oacc = Lustre::fill<<predefOp::incremental, 2>>(iacc);
+tel
+node _node_alias_3_Lustre::red(init:int; b:A_bool_2) returns (res:int);
+let
+  res = Lustre::red<<predefOp::incr, 2>>(init);
+tel
+node _node_alias_4_Lustre::map(i1:A_o_2; i2:A_o_2) returns (o:A_o_2);
+let
+  o = Lustre::map<<Lustre::div, 2>>(i1);
+tel
+node _node_alias_5_Lustre::map(i1:A_a_2; i2:A_a_2) returns (o:A_bool_2);
+let
+  o = Lustre::map<<Lustre::gte, 2>>(i1);
+tel
+node _node_alias_2_Lustre::map(i1:A_bool_2; i2:A_bool_2) returns (o:A_bool_2);
+let
+  o = Lustre::map<<Lustre::=>, 2>>(i1);
+tel
+node _node_alias_6_Lustre::red(i1:o; i2:A_o_2) returns (o:o);
+let
+  o = Lustre::red<<Lustre::plus, 2>>(i1);
+tel
+
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/redIf.lus
 Opening file should_work/lionel/redIf.lus
@@ -16689,6 +16984,7 @@ tel
 -- end of node redIf::redIf
 -- automatically defined aliases:
 type A_bool_3 = bool^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/simpleRed.lus
 Opening file should_work/lionel/simpleRed.lus
@@ -16704,6 +17000,7 @@ tel
 -- end of node simpleRed::simpleRed
 -- automatically defined aliases:
 type A_int_3 = int^3;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/testSilus.lus
 Opening file should_work/lionel/testSilus.lus
@@ -17017,6 +17314,7 @@ type A_bool_20 = bool^20;
 type A_A_bool_20_4 = A_bool_20^4;
 type A_A_int_20_4 = A_int_20^4;
 type A_int_20 = int^20;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/lionel/triSel.lus
 Opening file should_work/lionel/triSel.lus
@@ -17155,6 +17453,7 @@ tel
 -- end of node triSel::Sorted
 -- automatically defined aliases:
 type A_int_50 = int^50;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/packEnvTest/Condact.lus
 Opening file should_work/packEnvTest/Condact.lus
@@ -17188,6 +17487,7 @@ let
 tel
 -- end of node Main::Condact
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/packEnvTest/contractForElementSelectionInArray/contractForElementSelectionInArray.lus
 Opening file should_work/packEnvTest/contractForElementSelectionInArray/contractForElementSelectionInArray.lus
@@ -17226,6 +17526,7 @@ tel
 -- end of node contractForElementSelectionInArray::selectEltInArray
 -- automatically defined aliases:
 type A_int_10 = int^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/packEnvTest/contractForElementSelectionInArray/main.lus
 Opening file should_work/packEnvTest/contractForElementSelectionInArray/main.lus
@@ -17243,7 +17544,7 @@ let
    res = (util::igt(i, j));
 tel
 -- end of node intArray::_isGreaterThan_
-function intArray::_isEqualTo_(i1:a; i2:a) returns (o:bool);
+node intArray::_isEqualTo_(i1:a; i2:a) returns (o:bool);
 let
    o = (Lustre::equal(i1, i2));
 tel
@@ -17566,6 +17867,7 @@ tel
 -- end of node main::main
 -- automatically defined aliases:
 type A_int_10 = int^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/packEnvTest/contractForElementSelectionInArray/noeudsIndependants.lus
 Opening file should_work/packEnvTest/contractForElementSelectionInArray/noeudsIndependants.lus
@@ -17580,6 +17882,7 @@ let
 tel
 -- end of node noeudsIndependants::gt
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/packEnvTest/contractForElementSelectionInArray/packageTableau.lus
 Opening file should_work/packEnvTest/contractForElementSelectionInArray/packageTableau.lus
@@ -17724,6 +18027,7 @@ tel
 -- end of node tri::Sorted
 -- automatically defined aliases:
 type A_int_10 = int^10;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/packEnvTest/modelInst.lus
 Opening file should_work/packEnvTest/modelInst.lus
@@ -17779,6 +18083,7 @@ let
 tel
 -- end of node main::main
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/packEnvTest/packages.lus
 Opening file should_work/packEnvTest/packages.lus
@@ -17845,6 +18150,7 @@ tel
 -- end of node mainPack::preced
 const inter::n = -4;
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/packEnvTest/packages2.lus
 Opening file should_work/packEnvTest/packages2.lus
@@ -17909,6 +18215,7 @@ let
 tel
 -- end of node main::foo
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_work/to_sort_out/asservi.lus
 Opening file should_work/to_sort_out/asservi.lus
@@ -18071,6 +18378,7 @@ let
    p = (asservi::make_pend(x0, y0, x, y));
 tel
 -- end of node asservi::asservi
+
 Those tests are supposed to generate errors
 
 ----------------------------------------------------------------------
@@ -18169,6 +18477,7 @@ let
 tel
 -- end of node activation1::activation1
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_fail/semantics/activation2.lus
 Opening file should_fail/semantics/activation2.lus
@@ -18221,6 +18530,7 @@ let
 tel
 -- end of node activation2::activation2
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_fail/semantics/bad_call01.lus
 Opening file should_fail/semantics/bad_call01.lus
@@ -18391,6 +18701,7 @@ type A_int_2 = int^2;
 type A_int_5 = int^5;
 type A_int_3 = int^3;
 type A_A_int_5_6 = A_int_5^6;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_fail/semantics/const.lus
 Opening file should_fail/semantics/const.lus
@@ -18439,6 +18750,7 @@ let
 tel
 -- end of node cpt_dc::cpt_dc
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_fail/semantics/def.lus
 Opening file should_fail/semantics/def.lus
@@ -18476,6 +18788,7 @@ tel
 -- end of node def::def
 -- automatically defined aliases:
 type A_int_4 = int^4;
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_fail/semantics/import2.lus
 Opening file should_fail/semantics/import2.lus
@@ -18531,6 +18844,7 @@ let
 tel
 -- end of node piege::piege
 
+
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 2 --compile-all-items should_fail/semantics/tranche.lus
 Opening file should_fail/semantics/tranche.lus