Shouldn't here throw `EOFException`? Because users can't tell unexpected EOF from actual successful skip.