Agreed, the public key recovery in `ecdsa.js` has the following comment:

```
  // If beta is even, but y isn't or vice versa, then convert it,
  // otherwise we're done and y == beta.
```

Which is inline with the behaviour specified, however, this it does not match up with the implementation, which makes me think the implementation in `ecdsa.js` may be incorrect, and is therefore giving misleading recovery parameters.
I'll need to verify this.