 (def sexp-to-type (type)
      (match type
             (List (Cons (Symbol name _) parameters) range)
-                (sexp-to-complex-or-function-type name
-                                                  parameters
-                                                  range)
+                (sexp-to-complex-or-function-type name parameters range)
             (Symbol name range)
                 (Result (SimpleType name range))
             (List _ range)

(def sexp-to-function-body (range rest)
     (match rest
            (Cons (List arguments _) (Cons expression Empty))
                    (Result (Pair arguments expression))
            _
                    (Error (MalformedExpressionError range)))) 
 
(def sexp-to-lambda (rest range)
     (result-flatmap (fn (body)

                 (sexp-to-function-body range rest)))

(def sexp-to-function-application (range expressions)
     ((pipe (list-map sexp-to-expression) 
            result-of-list
            (result-map (fn (expressions)
                            (FunctionApplication expressions range))))
