This is almost exactly what I eventually did except I tend to iterate over arrays using an index, is there an advantage to using an iterator?
I didn’t actually use either in this scenario. I did
While(MyArray.Find(Element, OutIndex))
{MyArray.RemoveAt(OutIndex);}
which might be pretty inefficient now that I’ve thought about it.