Class::MethodMaker - a module for creating generic methods