I'm seeing an extra substring produced by `splitn` in [this code](https://play.rust-lang.org/?gist=ec14b389fde3e7080c0d8d7620a57125&version=stable&mode=debug&edition=2015). I'd expect splitn(1), splitn(2), and splitn(3) to produce the same output, but splitn is returning an extra empty substring.