static function combine ($inputs, array $fields = null, $flags = 2)
  {
    $mul = new MultipleIterator($flags);
    foreach (iterator ($inputs) as $k => $it)
      $mul->attachIterator (iterator ($it), isset($fields) ? $fields[$k] : $k);
    return new static ($mul);
  }