For me the big problem with the lack of macros is the unergonomic json conversions.
In Rust for example you use a simple declarative approach and it uses the type system to serialize/deserialize properly.
But in Gleam you need to do everything manually. Even with libraries that's a ton of manual work you need to do.
It's the single reason why I shy away from using Gleam actually.