> Any clever idea how I can make an alias attribute?
Hmmm... there may be a simple way of doing it but I can't see anything obvious on the docs - here's a workaround hack: package My::App; use Moose; has 'colour' => ( is => 'rw', isa => 'Str', ); sub BUILDARGS { my $class = shift; my $args = @_ == 1 ? $_[0] : { @_ }; # deal with 'color' in constructor if ( exists( $args->{color} ) ) { $args->{ colour } = $args->{color}; delete $args->{ color }; } return $args; } # manually setup accessor for color (redirect to colour) sub color { my $self = shift; my $colour = shift; $self->colour( $colour ) if @_ > 1; return $self->colour; } I'm guessing here - but if something like this hasn't already been written then I guess you should be able to register your own attribute trait (e.g. called 'alias') and deal with it in the BUILD method of the trait role, e.g. http://search.cpan.org/~drolsky/Moose-0.61/lib/Moose/Cookbook/Meta/Recipe3.pod Cheers, Ian