Ref - https://doc.rust-lang.org/book/ch20-05-macros.html
Fundamentally, macros are a way of writing code that writes other code, which is known as *metaprogramming*.
You’ve probably used the println! and vec! macros. All of these macros expand to produce more code than the code you’ve written manually.

