I see no difference with respect to recursiveness between the old

    allAncestorsDo: aBlock
      self ancestors do:
        [:ea |
        "…"
        ea allAncestorsDo: aBlock]

and the new

    allAncestorsDo: aBlock visitedAncestors: visitedAncestors
      self ancestors do: [ :each |
        "…"
         each allAncestorsDo: aBlock visitedAncestors: visitedAncestors ] "…"

Both are eventually recursive. I encountered other things that were recursive in Squeak and I carefully tried
to find all places where it is iterative in GS and change it accordingly.