
* improve M-C-f and M-C-b (they too often don't do the right thing) and
  add M-C-k and other such sexp-chunked operations.

* if indentation is non-obvious, return a list of possible indentations
  and choose the first unless the current is one of the possible choices.

* make `M-x sml-compile' more generic.

* allow specifying indentation of dependent keywords (how to indent `in'
  relative to `let', for example).

* use symbols instead of strings for `sym'.

* ignore warnings in C-x ` ????

* recognize irrefutable patterns (with "Capital"-heuristics, for example:
  a regexp like "\\([(),]\\|[_a-z][_a-z0-9]*\\)+").
  This can then be used to allow indenting like

		(fn x =>
		 some expressions)

* take advantage of text after-the-line (when available) for indentation.

* obey fixity directives.

* dangling `case e' in stuff like

  fun myfunction x = case x
   of bla =>
    | bli =>

* deal with CPS kind of code ???

  function1 (arg1, arg2, fn v1 =>
  function2 (arg2, fn v2 =>
  function3 (arg5, arg3, arg8, fn v3 =>
  function4 (v1, v2, v3))))

  or even just

  F.LET (v1, foo,
  F.LET (v2, bar,
  F.LET (v3, baz,
  F.RET [v1, v2, v3])))
