I agree with this article a lot. I wrote a comment on Rust for web previously that covers similar ground: https://news.ycombinator.com/item?id=23776855

One problem that I noticed, which may become a serious issue in the future, is that a lot of libraries add abstractions via macros. Macros don't always compose or debug well. I had some experiences getting errors in my macros that had extremely confusing debug messages, often pointing to files that didn't exist. Hopefully there will be a trend of moving back to plain old functions. Nom for instance has converted its combinators into regular functions, which I like a lot.

I'd love love love for there to be a language that gets in between Rust and TypeScript. It'd have the strictness over mutability like Rust, but the GC of JS/TS. It wouldn't have 3+ string types. It'd have enum variants and pattern matching but maybe not macros. Gleam is pretty close!

Hi! I'm the Gleam guy! It out curiosity what would the language need to bring it closer to what you want?

Here's Gleam for anyone interested: https://github.com/gleam-lang/gleam