sub Foo::is_legal_to_insert { my ($self, $child) = @_; return 0 if $child->isa( 'Bar' ); return $self->SUPER::is_legal_to_insert( $child ); }