public function flatten_with_mapper()
 {
     $this->assertSequence(['a', 'b', 'c', 'd'], Sequence::of(['a', 'c'])->flatten(function ($e) {
         return Sequence::iterate($e, function ($n) {
             return ++$n;
         })->limit(2);
     }));
 }
 public function invalid_type_for_iterate($input)
 {
     Sequence::iterate(0, $input);
 }
 public function stops_at_nth_iterator_element()
 {
     $this->assertSequence([1, 2], Sequence::iterate(1, function ($i) {
         return ++$i;
     })->limit(2));
 }