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.