package GridFiller::Types; use MooseX::Types -declare => [qw( GridT GridStatusT CharT LetterCellT TextResultT WordListT )]; use MooseX::Types::Moose qw(Str ArrayRef Int); use MooseX::Types::Structured qw(Tuple); subtype CharT, as Str, where { length($_) == 1 }; subtype LetterCellT, as Tuple[Int,CharT]; subtype GridT, as ArrayRef[ArrayRef[Str]]; subtype GridStatusT, as ArrayRef[ArrayRef[Int]]; subtype WordListT, as ArrayRef[Str]; subtype TextResultT, as ArrayRef[ArrayRef[LetterCellT]]; 1;