PSA: prefer declarative macros to improve compile times
We all know that compilation times aren't one of rusts strong points. This is made significantly worse, however, by the extensive use of proc-macros and by extension the heavy crates needed to pull them off. Of course, proc-macros are way more powerful than declarative one and can do many things which just aren't possible using declarative macros.
But some things can be implemented using declarative macros: thiserror_lite implements many features of the very popular thiserror crate, only using declarative macros and no dependencies. I think this particular crate gets way too little publicity. The syntax is almost identical and if you prefer the attribute/derive style of thiserror (I do) you can use macro_rules_attribute to achieve basically the same experience as thiserror, just with blazingly fast compile times.