You don't use macros to inline functions or anything. You use macros to do things functions can't do. In a program written by the Lisp mindset, the amount of code covering macros can easily grow to greater than marginal. It's just that you're not writing functions, you're writing translation rules for your own language where you can solve the problem more easily.