Type constraints and coercions for Perl
