MooseX::MungeHas alters the behaviour of the attributes of your Moo, Moose or Mouse based class. It manages to support all three because it doesn't attempt to do anything smart with metathingies; it simply installs a wrapper for has that munges the attribute specification hash before passing it on to the original has function.

The following munges are always applied (simply because I can see no sensible reason why you would not want them to be).

When you import this module (i.e. use MooseX::MungeHas) you can provide a list of additional mungers you want it to apply. These may be provided as coderefs, though for a few common, useful sets of behaviour, there are pre-defined shortcut strings.