Optimized cases for gline() rely on grect() instead of reimplementing the mechanics of the fully-optimized drawing to save some space.