Not hugely important, but is there a real need to form a list here? Could the function just return `Iterable`? I don't think clients would have to change much, if at all.