##
has x => ( is => 'rw', traits => ['MyAccessor']);
####
has x => ( isa => 'MyAccessor' );
####
package Moose::Meta::Attribute::Custom::Trait::MyAccessor;
sub register_implementation { return 'MyAccessor' }
package MyAccessor;
use Moose::Role;
my $meta = __PACKAGE__->meta;
####
@list = $obj-> prop;
$obj->prop(@list);
$array = $obj->prop;
$obj->prop($array);
####
has prop;
around prop => \&my_accessor;