Is `length` confusing as a property, since it may or may not be there at all? For instance, a convergent sequence, where it is *known* that it will eventually come to a stop, may have an *unknown* number of elements. Thus, it's `length` is unknown even thought it's known that the sequence is finite. To be fair, an infinite sequence *does* have a length, which is `Infinity`. :o)

Anyway, this property does bother me a bit. Not so much that it can be undefined, but that it (currently) by design will stay undefined even though the sequence might be realized. Also, the fact that it's optional means it's easy to forget setting it even though the size *is* known beforehand. That's just shitty programming, but on the other hand the API enables it. I'm not one to like APIs that easily enable you to produce crap.