package TmpTypes; use strict; use warnings; use MooseX::Types -declare => [qw(NewType)]; use MooseX::Types::Moose qw(Str); subtype 'NewType', as 'Str', where {$_ =~ /^new_/}; coerce 'NewType', from 'Str', via { 'new_'.$_ };