I think this is what you are looking for: https://nim-lang.org/docs/manual.html#statements-and-expressions-tuple-unpacking
proc returnsTuple(): (int, int, int) = (4, 2, 3)
let (x, _, z) = returnsTuple()
# apparently this only works for "let" or "var" statements but not for assignments
var
a, b, c: int
(a, b, c) = returnsTuple() # works
(a, _, c) = returnsTuple() # this (obviously ?) does NOT work