code: func NewToken(t TokenType, word []rune, pos Position) *Token {
  	// ensure the type is valid
  	if t < ILLEGAL || t > BAD {
  		t = BAD
  	}
  
  	// return the token
  	return &Token{Type: t, Word: word, Position: pos}
  }
docs: // NewToken returns a Token instance of the given t, represented by the
  // word runes, at the stream position pos. If the token type is not know, the
  // returned instance will have type BAD.