As a temporary solution, Caleb could use the underpinnings in moose that make parameterizable types possible, just do it all the manual hard way.
Its a fair bit of code, but you're more likely to get a working solution "now" https://metacpan.org/source/KENTNL/MooseX-Types-FakeHash-0.1.0/lib/MooseX/Types/FakeHash.pm I did this a while ago , and I'm assuming the code is still valid , tests aren't failing. -- Kent perl -e "print substr( \"edrgmaM SPA NOcomil.ic\\@tfrken\", \$_ * 3, 3 ) for ( 9,8,0,7,1,6,5,4,3,2 );"