SYNOPSIS use Type::Tiny; use Type::Tiny::Signatures; method hello (Str $greeting, Str $fullname) { print "$greeting, $fullname\n"; } DESCRIPTION This module uses Function::Parameters to extends Perl with keywords that let you define methods and functions with parameter lists which can be validated using Type::Tiny type constraints. The type constraints can be provided by the Type::Tiny standard library, Types::Standard, or any supported user-defined type library which can be a Moose, MooseX::Type, MouseX::Type, or Type::Library library. use Type::Tiny; use Type::Tiny::Signatures qw(MyApp::Types); method identify (Str $name, SSN $number) { print "identifying $name using SSN $number\n"; } The method and function signatures can be configured to validate user-defined type constraints by passing the user-defined type library package name as an argument to the Type::Tiny::Signatures usage declaration. The default behavior configures the Function::Parameters pragma using its defaults, i.e. strict-mode disabled. Please note, you can pass all the acceptable Function::Parameters import options to the Type::Tiny::Signatures usage declaration to configure the underlying Function::Parameters pragma to suit your needs. use Type::Tiny; use Type::Tiny::Signatures ':strict' => qw(MyApp::Types); method identify (Str $name, SSN $number) { print "identifying $name using SSN $number\n"; }