It looks like I/O objects may be mutated without indicating such with !. Though again, I wouldn’t necessarily realize I was creating an I/O object just to read some directory names, so it still strikes me as odd that first continues iterating the object.