I’ve never been a big Core Data fan since it has cost me many days of my life debugging odd issues. To be fair, the issues weren’t caused by Core Data. It was all of the foot-guns it left around that the junior developers on the team were more than happy to pick up and play with. This does look like an interesting use of macros though and is certainly a good example of how to craft more complex macros.