In reply to @ezic9276 "so the `object` keyword?": `not idiomatic` != `bad idea` Nim's type system is primarily Nominal (aka identified by name, not by shape) But tuples are Structural (aka identified by shape, not by name) By using a tuple for this purpose you are going out of the intended use of the type system It would be like using `any` in TypeScript. Possible? Yes, but should be avoided unless strictly unavoidable It might make sense on your specific usecase, I'm just pointing at the fact that the usage you showed is not idiomatic