Using Roles

package Pair;

has $_ => (
  is   => 'ro',
  does => 'Eq',
) for qw/a b/;

sub both_are_the_same {
    my $self = shift;
    return $self->a->equals($self->b) && $self->b->equals($self->a);
}