     (cond
      ((and current
            (string= "Pat" (shm-node-type-name current)))
-      (insert "{}")
+      (shm-insert-string "{}")
       (forward-char -1))
      (t
       (shm-delimit "{" "}")))))

    (let ((current (shm-actual-node)))
      (cond
       ((shm-find-overlay 'shm-quarantine)
        (insert open)
        (let ((point (point)))
          (insert close)
          (goto-char point)))
       (t
        (shm-adjust-dependents
         (point)
         (+
          (if (not (or (looking-back "[ ,[({]")
                       (bolp)))
              (progn (insert " ") 1)
            0)
          (length open)
          (length close)))
        (insert open)
        (let ((point (point)))
          (insert close)
          (when (and (/= (point) (line-end-position))
                     (not (looking-at "[]){} ,]")))
            (insert " "))
          (goto-char point)
          (shm/init t))))))))


          (cond
           ((= (point) (shm-node-start current))
            (let ((point (point)))
              (shm-insert-string " " qop " ")
              (goto-char point)))
           ((= (point) (shm-node-end current))
            (shm-insert-string " " qop " "))
           (t (error "Please go to the start or end of the node to indicate direction."))))
         (t (error "Unable to figure out the operator.")))))
     (t (error "Not in an infix application.")))))
