code: func (b *Board) UnmarshalText(text []byte) error {
  	cp, err := fenBoard(string(text))
  	if err != nil {
  		return err
  	}
  	*b = *cp
  	return nil
  }
docs: // UnmarshalText implements the encoding.TextUnarshaler interface and takes
  // a string in the FEN board format: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR