-- |Functions to pass to the actual @Expansion@ module.
ef :: E.ExpansionFunctions Shell
ef = E.ExpansionFunctions { E.getAllEnv = getAllEnv,
                            E.setEnv = setEnv,
                            E.homeDir = liftIO . getHomeDir,
                            E.expandGlob = expandGlob,
                            E.commandSub = captureOutput .
                                           subShell . runCommands,
                            E.positionals = getPositionals }
ef :: E.ExpansionFunctions Shell
ef = E.ExpansionFunctions { E.getAllEnv = getAllEnv,
                            E.setEnv = setEnv,
                            E.homeDir = liftIO . getHomeDir,
                            E.expandGlob = expandGlob,
                            E.commandSub = captureOutput .
                                           subShell . runCommands,
                            E.positionals = getPositionals }
ef = E.ExpansionFunctions { E.getAllEnv = getAllEnv,
                            E.setEnv = setEnv,
                            E.homeDir = liftIO . getHomeDir,
                            E.expandGlob = expandGlob,
                            E.commandSub = captureOutput .
                                           subShell . runCommands,
                            E.positionals = getPositionals }