I also just started with Nim two days ago, so maybe I'm not the most qualified person to answer ;)
I think you need a template here:
template add*[L,R](lhs: L, rhs: R): auto =
lhs + rhs
The compiler should then happily create the procs for all those combinations
being used
