It has optional static typing:
> sub f(Int $x) { $x + 1 }
sub f (Int $x) { #`(Sub|140221097113944) ... }
> sub g(Str $x) { f($x) }
===SORRY!=== Error while compiling:
Calling f(Str) will never work with declared signature (Int $x)