moose

More attribute options

Managed weakened references

has 'foo' => (..., weak_ref => 1, ...);

Role type constraints

has 'baz' => (..., does => 'My::Special::Role', ...);

Unknown type constraints are converted into anon-subtypes of Object.

has 'baz' => (..., isa => 'My::Special::Class', ...);
has 'baz' => (..., subtype('Object' => where { $_->isa('My::Special::Class') }));  

But wait, that's not all! ...

s | << | >> | i