It looks like my understanding was pretty far off. For example, the code below works and is checked at compile time.
Maybe my issue is with finding the right documentation on concepts. To write the example below, I had to use the RFC: <https://github.com/nim-lang/RFCs/issues/168> Thanks for the help. type Addable = concept proc `+`(x, y: Self): Self proc h[T: Addable](x: T): T = x + 1 var y = h(4) echo y Run
