$ perl -Ilib -MType::Tiny -E'say for sort keys %INC' Eval/TypeTiny.pm Exporter.pm List/Util.pm Scalar/Util.pm Type/Tiny.pm Type/Tiny/XS.pm Types/TypeTiny.pm XSLoader.pm feature.pm overload.pm overloading.pm strict.pm warnings.pm warnings/register.pm #### use strict; use warnings FATAL => qw(all); sub set_age { my $self = shift; my ($age) = @_; croak "age cannot be negative" unless $age >= 0; $self->{age} = $age; return $self; } #### use feature "state"; use strict; use warnings FATAL => qw(all); use Type::Params qw(compile); use Types::Standard qw(Object); use Types::Common::Numeric qw(PositiveOrZeroInt); sub set_age { state $check = compile(Object, PositiveOrZeroInt); my ($self, $age) = $check->(@_); $self->{age} = $age; return $self; }