code: func (g *Game) UnmarshalText(text []byte) error {
  	game, err := decodePGN(string(text))
  	if err != nil {
  		return err
  	}
  	g.copy(game)
  	return nil
  }
docs: // UnmarshalText implements the encoding.TextUnarshaler interface and
  // assumes the data is in the PGN format.