MooseX::Role::WithOverloading allows you to write a Moose::Role which defines overloaded operators and allows those overload methods to be composed into the classes/roles/instances it's compiled to, where plain Moose::Roles would lose the overloading.
This module does not provide any methods. Simply loading it changes the default naming policy for the loading class so that accessors are separated into get and set methods. The get methods have the same name as the accessor, while set methods are prefixed with "_set_".
This module attempts to emulate the behavior of Class::Accessor::Fast as accurately as possible using the Moose attribute system. The public API of Class::Accessor::Fast is wholly supported, but the private methods are not.
This module builds on MooseX::Types::DateTime to add additional custom types and coercions. Since it builds on an existing type, all coercions and constraints are inherited.