code: func equalFoldRight(s, t []byte) bool {
  	for _, sb := range s {
  		if len(t) == 0 {
  			return false
  		}
  		tb := t[0]
  		if tb < utf8.RuneSelf {
  			if sb != tb {
  				sbUpper := sb & caseMask
  				if 'A' <= sbUpper && sbUpper <= 'Z' {
  					if sbUpper != tb&caseMask {
  						return false
  					}
  				} else {
  					return false
  				}
  			}
  			t = t[1:]
  			continue
  		}
  		// sb is ASCII and t is not. t must be either kelvin
  		// sign or long s; sb must be s, S, k, or K.
  		tr, size := utf8.DecodeRune(t)
  		switch sb {
  		case 's', 'S':
  			if tr != smallLongEss {
  				return false
  			}
  		case 'k', 'K':
  			if tr != kelvin {
  				return false
  			}
  		default:
  			return false
  		}
  		t = t[size:]
  
  	}
  	if len(t) > 0 {
  		return false
  	}
  	return true
  }
docs: // equalFoldRight is a specialization of bytes.EqualFold when s is
  // known to be all ASCII (including punctuation), but contains an 's',
  // 'S', 'k', or 'K', requiring a Unicode fold on the bytes in t.
  // See comments on foldFunc.