This appear to iterate the collections it is modifying, that might lead to unpredictable results. If you iterate the loops of the face and then remove some of the loops it might not process the collection properly. It's best to cache the collection into an array: `face1.loops.to_a`.