even if moose is nice and allows to prune a lot of code, it can still be seen as cryptic. take the following example, and imagine that you have a lot more attributes to declare:
the first thing that can be done is using moose builtin types instead of their name, with moosex::types::moose. this allows to remove the quotes around the types:
but that's still a bit mouthful. enters moosex::has::sugar, for a nicer code:
your code is now more readable - yet some other modules that i'll now use in my dists...