> 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 };