3 files changed, 9 insertions(+), 12 deletions(-)

M src/symtbl.rs
M tests/programs/test_module3.gt
M tests/programs/test_module7.gt
M src/symtbl.rs +1 -1
@@ 620,7 620,7 @@ pub(crate) fn predeclare_decls(symtbl: &
     }
 }
 
-fn rename_decl(symtbl: &mut Symtbl, decl: hir::Decl) -> hir::Decl {
+pub fn rename_decl(symtbl: &mut Symtbl, decl: hir::Decl) -> hir::Decl {
     use hir::Decl::*;
     match decl {
         Function {

          
M tests/programs/test_module3.gt +2 -2
@@ 72,7 72,8 @@ fn impl_list_len(|T|) Len[List[T]] =
     } 
 end
 
-fn module_len(|T| impll Len[T], l T) I32 =
+/-
+fn module_len(|Q| impll Len[Q], l Q) I32 =
     let total I32 = 0
     impll$.len(l)
 end

          
@@ 83,7 84,6 @@ fn list_len(|T| l List[T]) I32 =
     module_len(impll, l)
 end
 
-/-
 const ListIdx Idx[List[T], T] = Idx {
     .idx = fn(selff List[T], i I32) T = selff$.dummy_data end
 }

          
M tests/programs/test_module7.gt +6 -9
@@ 1,7 1,7 @@ 
 -- Format:
 --   status: success
 -- Compile:
---   status: error
+--   status: success
 -- Run:
 --   stdout: 12
 

          
@@ 27,7 27,7 @@ type Cell[V] = struct
     val: V
 end
 
-fn make_cell_functor(f fn(A) B) Functor[Cell[A], Cell[B]] =
+fn make_cell_functor(|A, B| f fn(A) B) Functor[Cell[A], Cell[B]] =
     -- to work this needs closures, 'cause it
     -- captures f()
     let m = fn(c Cell[A]) Cell[B] =

          
@@ 35,25 35,22 @@ fn make_cell_functor(f fn(A) B) Functor[
             .val = f(c$.val)
         })
     end
-    Functor({
+    Functor( {
         .map = m,
     })
 end
 
-/-
 fn f(i Bool) I32 =
     12
 end
--/
 
 fn main() {} =
-    {}
-    /-
-    let test_cell Cell(Bool) = Cell {
+    let test_cell Cell[Bool] = Cell {
         .val = true
     }
+    /-
     let thing = make_cell_functor(f)
-    let test_result Cell(I32) = thing$.map(test_cell)
+    let test_result Cell[I32] = thing$.map(test_cell)
     __println(test_result$.val)
     -/
 end