Currently it only uses IEnumerable<T> which causes it to fail when the target collection is an ICollection.
Currently it only uses IEnumerable which causes it to fail when the target collection is an ICollection.