+ ((and (= best-start 0)
+ (or (and (= best-length 5)
+ (= (aref words 5) #xffff))
+ (= best-length 6)))
+ (let ((v4addr (make-instance 'ip4addr
+ :addr (ldb (byte 32 0) addr))))
+ (write-string "::" out)
+ (when (= best-length 5)
+ (chunk 5 6)
+ (write-char #\: out))
+ (write-string (ipaddr-string v4addr) out)))