array::difference function