Rust's model of references confused me when I started out. I'd read that they were faster, so I tried to use them everywhere. You can't return a reference to a new vector though!
Now I see them as primarily useful for signalling 'this parameter is not modified' rather than perf.
Related Posts
Playing with optional type signatures in Python, I realise that the return type is the most important to me.
I'd much rather have a function with only a return type instead of a function with only parameter types. It's often quick to add too.
It's interesting to see the "why not Rust?" discussions around the TypeScript news that they're using Go. It shows that Rust has reached a level of maturity that it's a default for some users.
Go does seem to be in a sweet spot for AOT languages with GC though.
GIMP is huge tool that I certainly haven't mastered, but it's so useful to have around.
I used it this week to convert images from obscure formats to common ones. It's a great swiss army knife and runs everywhere.