Ah yes, indeed. If DICT is just a proc that takes a Context, this also works btw: let ret = DICT(@[]) Run
The compiler can deduce the type of the empty seq itself from the args of proc DICT(c: Context). Although personally if the use case of an empty seq as the argument comes up more often, I'd set the empty sequence as the default value for the argument proc DICT(s: Context = @[]) instead. And proc newContext(len: int): Context helper is probably also useful to emphasize the intention.