MooseX::Role::WithOverloading allows you to write a Moose::Role which
defines overloaded operators and allows those operator overloadings
to be composed into the classes/roles/instances it's compiled to,
while plain Moose::Roles would lose the overloading.

WWW: http://search.cpan.org/dist/MooseX-Role-WithOverloading/