[#60746198] ring support

we can now iterate over a ring
using the generic(esque) Iterate function