Both styles are used in the file. (i min j is so easy to read, at a cost.)  But `self` alias is used only as necessary; compare `this(i) == that(j)` or other uses of `length`.  When I see the alias, my eye has to look for the enclosing object.

I don't have a deep, experience-based opinion about this, but it's too bad to calculate length if not necessary. (Maybe it's only theoretical: loading an array of records a chunk at a time, and length forces loading all.)  It's easy to say `try { ... } catch { case _: IndexOutOfBoundsException => -1 }`; that is not entirely free of cost, but it mostly just punishes the error case.

Wow, I just tried "edit in fullscreen Zen mode", that's just great.  I think I want my code editor to offer that.