I see list(x.f()) as like x.f().iter().list(), where "list()" is a method of all "iterator" objects, and "iter()" is a method of all "iterable" objects, and whatever object is returned by x.f() is of a type which conforms to the "iterable" interface. I am not saying this is the way things /should/ be, but if it was, it would make sense to me.
Larry -- http://mail.python.org/mailman/listinfo/python-list