I've Javascript developer who has recently joined a project using scala.<p>I've never been a massive fan of static types, it always felt so verbose, and I didn't really see the benefit.<p>I don't love it, but I will say that when I change a signature, and the compiler tells me all the places the program now fails because the signature does not match expectations, I find that pretty impressive.<p>I do think it helps catch certain types of bugs (particularly helpful in finding all the interconnected pieces in a large project).