Implement ch16/03-macros-danger-and-alternatives examples