`docs` is undefined when there's an error. Currently, we're continuing to process if there's an error instead of ending the stream properly.

I think you could write a test case to reproduce this behavior by making an instance of `clever` with an invalid API key and then trying to stream from that.

I'm not sure what the right fix is, you can play around with it after you get a test case that reproduces it.

My guess is it's one of these:

```coffee
return @emit 'error', err if err
```
```coffee
if err?
  @emit 'error', err
  @push null
  return
```