+ aps <- sepBy1 (parseBraces <|> parseLambda <|> parseVar) (char ' ')
+ return $! createApp aps
+
+createApp :: [Term] -> Term
+createApp [t] = t
+createApp (t:ts:tss) = createApp (App t ts : tss)
+createApp [] = error "empty createApp"
+
+parseBraces :: Parser Term
+parseBraces = do