Role example

package Eq;
use Moose::Role; # this is a role

requires 'equals'; # consuming class must have an "equals" method

sub not_equals {
   my ($self, @args) = @_;
   return !$self->equals(@args);
}