improvements to smartmatch
do not need to pass $seen to Any | M | Array