code: func (pos *Position) UnmarshalText(text []byte) error {
  	cp, err := decodeFEN(string(text))
  	if err != nil {
  		return err
  	}
  	pos.board = cp.board
  	pos.turn = cp.turn
  	pos.castleRights = cp.castleRights
  	pos.enPassantSquare = cp.enPassantSquare
  	pos.halfMoveClock = cp.halfMoveClock
  	pos.moveCount = cp.moveCount
  	pos.inCheck = isInCheck(cp)
  	return nil
  }
docs: // UnmarshalText implements the encoding.TextUnarshaler interface and
  // assumes the data is in the FEN format.