{ package Foo; use Moo; has(('it', 'is', 'ro')); has(('bit', 'is', 'rw')); sub fit { warn $_[0]->bit, $_[0]->it; } use namespace::onlykeep qw/ fit new /; 1; } use Data::Dump qw/ dd /; my $f = 'Foo'->new('it', 'was', 'bit', 'ten'); dd($f); $f->fit; ## should warn dd($f->it, $f->bit); ## should die