diff --git a/questionable/binding.nim b/questionable/binding.nim index e556207..bdd0ee1 100644 --- a/questionable/binding.nim +++ b/questionable/binding.nim @@ -30,38 +30,35 @@ template bindVar(name, expression): bool = placeholder(T) option.isSome -macro bindTuple(name, expression): bool = - let stmtList = newStmtList() - let opt = genSym(nskLet, "option") - let T = genSym(nskType, "T") +proc newUnpackTupleNode(names: NimNode, value: NimNode): NimNode = + # builds tuple unpacking statement, eg: let (a, b) = value + let vartuple = nnkVarTuple.newTree() + for i in 0..