code: func (p *Lexer) UnreadRune() error {
  	if len(p.lastRuneSize) == 0 {
  		return ErrInvalidUnread
  	}
  
  	p.r -= p.lastRuneSize[len(p.lastRuneSize)-1]
  	p.lastRuneSize = p.lastRuneSize[:len(p.lastRuneSize)-1]
  
  	return nil
  }
docs: // UnreadRune unreads the last rune.