Hello, I have the following overloaded procedure as follows: proc add*(circuit: var Circuit, a, b: Constraint): Constraint {.inline.} = let expressions = @[ Expression(wire: a.outputWire, coefficient: i256(1)), Expression(wire: b.outputWire, coefficient: i256(1)) ] circuit.newConstraint(expressions) proc add*(circuit: var Circuit, constraint: Constraint, constant: Constant): Constraint = let expressions = @[ Expression(wire: constraint.outputWire, coefficient: i256(1)), Expression(wire: Table(circuit)[int64(0)].outputWire, coefficient: i256(constant)) ] circuit.newConstraint(expressions) proc add*(circuit: var Circuit, constant: Constant, constraint: Constraint): Constraint = circuit.add(constraint, constant) proc add*(circuit: Circuit, a, b: Constraint | Constant, args: varargs[Constraint | Constant]): Constraint = result = circuit.add(a, b) for i in 0..args.len: result = circuit.add(result, args[i]) Run
Calling add with 2 arguments, works as intended. However when I call add with 3 or more arguments, I get `Error: cannot instantiate: 'b:type'` in the proc that accepts varargs[], referring to the procs parameters, it's unclear to me as why. What am I doing wrong?