handle concatenation of streams better. Flatten notices concatenated heads and concat is written as a lazy recursion
can resolve promises in forArray
export forArray to make streams from an array