execShell :: [ShowWindow] -> Exp String -> Action ()
execShell sw x = do
    Value x <- x
    let d = def{esCommand=x}
    emit $ ExecShell $ if null sw then d else d{esShow=last sw}
execShell :: [ShowWindow] -> Exp String -> Action ()
execShell sw x = do
    Value x <- x
    let d = def{esCommand=x}
    emit $ ExecShell $ if null sw then d else d{esShow=last sw}
execShell sw x = do
    Value x <- x
    let d = def{esCommand=x}
    emit $ ExecShell $ if null sw then d else d{esShow=last sw}