Function declarations can now declare functions with >1 parameters.

The resulting abstract syntax tree uses (fn v => e) bindings for
parameters past the first.  So, for example,

  fun f x y = x + y

turns into

  Dletrec
   [("f","x",
     Fun "y"
       (App Opapp
          (App Opapp
             (Fun "x"
                (Fun "y"
                   (App (Opn Plus) (Var (Short "x")) (Var (Short "y")))))
             (Var (Short "x"))) (Var (Short "y"))))]