Groovy is optionally typed, you can have as much safety as you wish.
> and performance to do so
If you use static types, you can use @CompileStatic to get most of the performance back.
So, okay, you're technically correct, which is every nerd's favorite kind of correct, but writing it that way sucks. Groovy isn't a bad scripting language (or wouldn't be if discobot ever got done), but it's unserious as a Java competitor where Java is good.