I'm not talking about dynamic vs static though. I'm talking about static typing with or without compiler type inference a la Rust or C++'s auto
(note that Java making generic parameters optional does not count since that is, in fact, dynamic typing)