xpr
firstExpr spDecl = exprApplyFun (spDecl ^. specName) (spDecl ^. specArgs)
    where exprApplyFun :: Variable -> [Variable] -> PE.PreExpr
          exprApplyFun f = foldl (\e -> PE.App e . PE.Var) (PE.Var f)

createFunDecl :: SpecDecl -> Va
firstExpr :: SpecDecl ->  PE.PreExpr
firstExpr spDecl = exprApplyFun (spDecl ^. specName) (spDecl ^. specArgs)
    where exprApplyFun :: Variable -> [Variable] -> PE.PreExpr
          exprApplyFun f = foldl (\e -> PE.App e . PE.Var) (PE.Var f)
firstExpr spDecl = exprApplyFun (spDecl ^. specName) (spDecl ^. specArgs)
    where exprApplyFun :: Variable -> [Variable] -> PE.PreExpr
          exprApplyFun f = foldl (\e -> PE.App e . PE.Var) (PE.Var f)