export function sliceGen<T> (iter: AsyncIterable<T>, start: number, end?: number): AsyncIterable<T> {
  if (start >= 0 && end == null) {
    return dropGen(iter, start)
  } else if (end == null) { // && start < 0
    return takeLastGen(iter, -start)