sub new { my ($proto, $type) = @_; my $class = ref($proto) || $proto; ...