After a while spent trying to learn Moose I’ve come to realise that it’s just not a good fit for what I want to do. It’s unfortunate — I quite like it, and it saves a lot of time otherwise spent scaffolding. It has other benefits as well, but there are a few things I can’t get it to understand without quite a bit of extra work.
I am using Set::Object a lot in some code I’m writing, and I can’t get Moose to work well with attributes of this type. Moose complains that instances of Set::Object don’t pass the type constraint _ANON_. I got it partially working using lots of absolutely horrendous code, but that’s not how I want to spend my time.
For now I just used Module::Starter and regular Perl OO to get me back on my feet and got the code that failed to work with Moose rewritten and working, with POD and tests. It wasn’t a lot of code and certainly wasn’t complicated.
Hopefully one day I’ll find the time to re-explore Moose. But until then, the Moose can go to pasture for me.