The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use 5.010;
use strict;
use Data::Dumper;

{
	package Person;
	use Moose;
	has name     => (is => 'rw', isa => 'Str');
	has employer => (is => 'rw', isa => 'Str');
}

use MooseX::Prototype qw(use_as_prototype);
use_as_prototype(Person->new(employer => 'HMG'), 'CivilServant');

my $bob = CivilServant->new(name => 'Bob');
print Dumper $bob;