Convert an Iterable to a string like IterableBase.toString.
Iterable
Allows using other delimiters than '(' and ')'.
Handles circular references where converting one of the elements to a string ends up converting iterable to a string again.