don't allow self-dups if needles==haystack