in reply to Perl and Type restriction

Why Perl 5 don't have compile-time type restriction?

Because you can't trace all dispatch destinations at compile time. See also "Why are C++ templates so difficult to implement efficiently?"