It is just enough for these two `isFirst` and `isLast` attributes to reverse their behavior. I think it's also better to renamed to `isStart` and `isEnd`.