Allow compareLengthI to shortcircuit if the maximum length is less than the target length

This makes it so `compareLengthI` and `compareLength` can short circuit when the maximum bound for the stream is smaller than the comparator. 

e.g.

```haskell
>>> compareLength (filter (<'e') "hello") 100
```