use MooseX::Declare; class Foo { use Foo::Types::Library qw /Maybe[GooglePrimaryEmail]/; has 'email' => ( is => 'rw', isa => 'Maybe[GooglePrimaryEmail]', coerce => 1 ); }