MapMaker
- stolen from an app, will CPAN it soon
- you can do similar things
package MapMaker;
use Moose;
use Moose::Util::TypeConstraints;
sub other { return 'right' if shift eq 'left'; return 'left' }
coerce 'ClassName' => from 'Str' => via { Class::MOP::load_class($_); $_ };