4 =head2 No Moose and Immutabilize
6 We recommend that you end your Moose class definitions by removing the
7 Moose sugar and making your class immutable.
13 # extends, roles, attributes, etc.
19 __PACKAGE__->meta->make_immutable;
23 =head2 Always call SUPER::BUILDARGS
25 =head2 No complex subs for a default, use a builder
27 builders can be inherited, show up more cleanly in profile
29 =head2 use default for simple scalar, and empty refs
31 =head2 use builder for everything else
39 consider keeping clearers & predicates private
41 consider keeping writers private
43 =head2 Think Twice Before Changing an Attribute's Type in a Subclass
45 =head2 use MX::AH instead of auto_deref
47 =head2 Namespace Your Types
51 =head2 Coercion Instead of Unions
53 =head2 Define All Your Types in One Module