package MyClass { use Moose; use Types::Standard qw(ArrayRef Str); has data => ( is => 'ro', isa => Str->plus_coercions(ArrayRef, sub { join "\n", @$_ }), ); }