fix bug that weakref.ref() count as Iterable and Sized, but cause a TypeError when passed to the list constructor