     (if (< (current-column) (current-indentation))
         (skip-chars-forward "\t "))))
 
-(defun sl-back-to-outer-indent ()
+(defun sw:back-to-outer-indent ()
   "Unindents to the next outer level of indentation."
   (interactive)
   (save-excursion

                  (setq indent 0))))
            (backward-delete-char-untabify (- start-column indent)))))))

(defconst sl-indent-starters-reg  ; ??
  "case\\b\\|datatype\\b\
\\|else\\b\\|fun\\b\\|def\\b\\|if\\b\
\\|in\\b\\|infix\\b\\|infixr\\b\

          last
        0))))

(defun sw:re-search-backward (regexpr)
  (let ((case-fold-search nil) (found t))
    (if (re-search-backward regexpr nil t)
        (progn
          (condition-case ()
              (while (sw:inside-comment-or-string-p)
                (re-search-backward regexpr))
            (error (setq found nil)))
          found)
      nil)))

(defun sw:up-list ()
  (save-excursion
    (condition-case ()
        (progn
