Excerpts from Dermot's message of Tue Jan 19 07:34:35 -0500 2010: > subtype 'IndexType' > => as 'Str', > => enum( $_, qw[foo bar baz]);
enum() is already a Str, and in any case the syntax you made up doesn't correspond to anything. You want the anonymous enum syntax. Just subtype it: subtype 'Whatever', as enum([ qw(foo bar baz) ]), ...; This is all in Moose::Util::TypeConstraints. hdp.