Tip 84: Use m4 to automate OOP boilerplate | Dark Hacker News