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.