Call pull when needsMore is true

I'm creating this pull request so I can comment on it; apparently you can't comment on things without them being pull requests :P
You don't want to try/catch here; ReturnIfAbrupt just means letting the error bubble. Will fix while merging.