This blog post discusses the challenges faced while trying to implement a synchronous-asynchronous library in Rust that allows easy switching between sync and async modes without needing to explicitly append `.await` in the code. The author shares their design goals, approaches considered, and the limitations encountered with Rust macros and compile-time reflection.