                                   (rest children))))
                     ;; Game continuation after first child move:
                     (node-to-string (first children)))))))]
-    (str 
-      (when include-comments?
-        (when-let [c (-> game :root-node :pre-comment)]
-          (str "{" c "}")))
-      (node-to-string (game :root-node)))))
+    (node-to-string (game :root-node))))
 
 
 (defn to-pgn

  [game cmt & [node-id]]
  (add-key-value-pair game :pre-comment cmt node-id))


(defn find-node-matching
  "Finds the first (as found by a depth-first search) game tree node
  matching the given predicate. If no such node is found, returns nil."
  [game predicate & [start-node]]
  (let [start-node (or start-node (game :root-node))]
    (if (predicate start-node)
      start-node
      (first (filter identity
                     (map #(find-node-matching game predicate %)
                          (start-node :children)))))))


(defn goto-node-matching

  node id is supplied, the key value pair is added at the current node."
  [game key value & [node-id]]
  (let [z (-> (game-zip game (or node-id (-> game :current-node :node-id)))
              (zip-add-key-value-pair key value))
        g (assoc game :root-node (zip/root z))]
    (assoc g :current-node (find-node g (-> g :current-node :node-id)))))


(defn add-comment
