So the answer would be, it's statically typed by default, whereas Groovy is optionally statically typed. Groovy's static typing can be a little finicky as well, you sort of really need to only use it optionally because using it everywhere gets kind of painful (although it might be better in the most recent versions, type inference is quite hit and miss).
But then I would say there are a lot of other advantages that Groovy brings - just a wider usage and knowledge base in general mainly.
Edit: Gosu also seems to offer reified generics, I'm not sure how that is implemented, esp. while maintaining the seamless Java interop people speak of, but it could be pretty powerful.