personally, I don't see any problem with operations utilizing one or more list arguments simply being specified to perform the function specified terminating upon either the detection of an end of any of it's argument lists, or the detection of all of it's argument lists being circular.