> I think you're suggesting being able to do appropos of: > > isa => Password[ > length => 6, > matches => qr { }, > callback => sub { } > ] > > I know this exists, which might help in implementing that: > > https://metacpan.org/pod/MooseX::Meta::TypeConstraint::Intersection
Yep, and also MooseX::Types::Structured which lets you create data-dictionary-like types. Remember also that you can manually create any types you like by writing a custom verification sub: my $custom_type = subtype, from HashRef, where { custom sub here };