i have a piece of code which i managed to reduce to [this minimal 
form](https://play.nim-lang.org/?gist=c4bfec49071f6afa42e266437781eeec)
    
    
    import sequtils
    
    type
     Color1 = array[1, int]
     Color2 = array[1, int]
     Color = Color1 | Color2
     Image1 = seq[seq[Color1]]
     Image2 = seq[seq[Color2]]
     Image = Image1 | Image2
    
    template b(c: Color) = discard
    
    proc appl(img: Image, k: seq[seq[int]]) =
      echo k.foldl(a + b.foldl(a + b), 0)
    
    appl @[@[[1]]], @[@[0]]

which fails to compile with 
    
    
    .nim(16, 1) template/generic instantiation from here
    in.nim(14, 20) Error: 'b' has unspecified generic parameters

im probably doing something wrong with template, but if i would change the 
signature of the `appl` proc from `Image` to `Image1` or any other type it 
works normally. and why the `b` from `foldl` gets confused with template. sorry 
if im being a brainlet and missing something obvious.

Reply via email to