code: func (g *Game) MoveStr(s string) error {
  	m, err := g.notation.Decode(g.pos, s)
  	if err != nil {
  		return err
  	}
  	return g.Move(m)
  }
docs: // MoveStr decodes the given string in game's notation
  // and calls the Move function.  An error is returned if
  // the move can't be decoded or the move is invalid.