in reply to Re^5: Why does changing a Moose attributes' properties remove the around modifier
in thread Why does changing a Moose attributes' properties remove the around modifier

If you're trying to perform validation, why not just use the facility designed for that?

use Moose::Util::TypeConstraints; subtype 'Net::IP::Address', as 'Str', where { NetAddr::IP->new($_, '255.255.255.255') }; no Moose::Util::TypeConstraints;
has [ qw/server peer monitor netlog/ ] => ( is => 'ro', isa => 'Net::IP::Address', required => 1, );