syntaxIsoDemo :: IO ()
syntaxIsoDemo = do
    demo <- return $ syntaxIso demoSyntax
    parsed <- return $ apply demo "ababab"
    putStrLn $ "Parsed:     " ++ show parsed
    printed <- return $ unapply demo (fromJust parsed)
    putStrLn $ "Printed:    " ++ show printed
    return ()
syntaxIsoDemo :: IO ()
syntaxIsoDemo = do
    demo <- return $ syntaxIso demoSyntax
    parsed <- return $ apply demo "ababab"
    putStrLn $ "Parsed:     " ++ show parsed
    printed <- return $ unapply demo (fromJust parsed)
    putStrLn $ "Printed:    " ++ show printed
    return ()
syntaxIsoDemo = do
    demo <- return $ syntaxIso demoSyntax
    parsed <- return $ apply demo "ababab"
    putStrLn $ "Parsed:     " ++ show parsed
    printed <- return $ unapply demo (fromJust parsed)
    putStrLn $ "Printed:    " ++ show printed
    return ()