Simply loading the MooseX::StrictConstructor module makes your constructors "strict". If your constructor is called with an attribute init argument that your class does not declare, then it calls "Carp::confess()". This is a great way to catch small typos. WWW: http://search.cpan.org/dist/MooseX-StrictConstructor/