           (goto-char end)
           (indent-rigidly start
                           end
-                          (+ shm-node-indent-spaces
+                          (+ (shm-indent-spaces)
                              (shm-node-start-column node)))
           (delete-region start
                          (save-excursion

        (cond
         ((and (or (= column (current-column))
                   (= column (+ (shm-node-start-column parent)
                                shm-node-indent-spaces)))
               (/= column (shm-node-start-column parent)))
          (newline)
          (indent-to (+ (shm-node-start-column parent)
                        shm-node-indent-spaces)))
         (t
          (newline)
          (indent-to column)))))

          (string= "Rhs" (shm-node-type-name current))
          (string= "GuardedAlt" (shm-node-type-name parent)))
      (newline)
      (indent-to (+ (shm-indent-spaces)
                    (shm-node-start-column (cdr (shm-node-parent parent-pair))))))
     ;; When in a field update.
     ((string= "FieldUpdate" (shm-node-type-name parent))
      (newline)
      (indent-to (+ (shm-node-start-column parent)
                    (shm-indent-spaces))))
     ;; When in an alt list
     ((string= "GuardedAlts" (shm-node-type-name current))
      (newline)
      (indent-to (+ (shm-node-start-column parent)
                    (shm-indent-spaces))))
     ;; When in a case alt.
     ((string= "GuardedAlts" (shm-node-type-name parent))
      (newline)
      (let ((alt (cdr (shm-node-parent parent-pair))))
        (indent-to (+ (shm-node-start-column alt)
                      (shm-indent-spaces)))))
     ;; Infix operators
     ((eq 'InfixApp (shm-node-cons parent))
      (newline)
