i try to use `fieldPairs()`, but unfortunately macro parse(a: typed; k: untyped): untyped = result = nnkCaseStmt.newTree(k) for fk, fv in a.fieldPairs(): when fv.hasCustomPragma(opt): result.add nnkOfBranch.newTree( newLit(fk), nnkStmtList.newTree(nnkAsgn.newTree(fv, newLit("🤔"))) ) result.add nnkElse.newTree( nnkStmtList.newTree(nnkDiscardStmt.newTree(newEmptyNode())) ) Run
> > Expression: fieldPairs(a) > [1] a: NimNode > > Expected one of (first mismatch at [position]): > [1] iterator fieldPairs[S: tuple | object; T: tuple | object](x: S; y: > T): tuple[ > key: string, a, b: RootObj] > [1] iterator fieldPairs[T: tuple | object](x: T): tuple[key: string, val: > RootObj] > > > > Run