Abstracted out ChoosableIterable