bool canCastIterable(Iterable itr, Type type) { if (type == this.type) { return itr.every((e) => e is O); } return false; }