topLevelStatement :: Parser Expr
topLevelStatement = try funcDef
            <|> do var <- varDef
                   semi
                   return var
topLevelStatement :: Parser Expr
topLevelStatement = try funcDef
            <|> do var <- varDef
                   semi
                   return var
topLevelStatement = try funcDef
            <|> do var <- varDef
                   semi
                   return var