These seem to be purely internal classes for working with hashes and arrays; why do we need to import matching subs for them?
I found this while trying to use Test::Deep with Test2::V0, which also exports these names (along with bag and bool, which also conflict). So, I find myself doing this:
use Test2::V0 qw(!bag !bool); # prefer Test::Deep's versions
use Test::Deep qw(!array !hash); # prefer Test2's versions