1  {
2    package Local::Person;
3    use Moose;
4    has name => (
5      is    => 'ro',
6      isa   => 'Str',
7    );
8    __PACKAGE__->meta->make_immutable;
9  }
10
11  {
12    package Local::Marriage;
13    use MooseX::ArrayRef;
14    has husband => (
15      is    => 'ro',
16      isa   => 'Local::Person',
17    );
18    has wife => (
19      is    => 'ro',
20      isa   => 'Local::Person',
21    );
22    __PACKAGE__->meta->make_immutable;
23  }
24
25  my $marriage = Local::Marriage->new(
26    wife      => Local::Person->new(name => 'Alex'),
27    husband   => Local::Person->new(name => 'Sam'),
28  );
29
30  use Data::Dumper;
31  use Scalar::Util qw(reftype);
32  print reftype($marriage), "\n";   # 'ARRAY'
33  print Dumper($marriage);
34
35