Where static analysis can't work, the JS community is exploring libraries declaring that they're pure: https://github.com/webpack/webpack/blob/master/examples/side-effects/README.md
Related Posts
Coming from JS or Python, imports in Rust feel weird. They're entirely optional aliases for fully qualified symbols, which are always available.
I don't know of many other languages where you can just start using libraries. Java is the only one I can think of.
I've been building an 'extract function' refactor feature. It's surprisingly nuanced.
Where do you put the extracted function? Once you've done the static analysis, what order do you use for the parameters?
Exploring design ideas using AI as a learning assistant, for creative exploration: https://andymatuschak.org/hmwl/