This change refactors Plugins.Monitors.Volume so the internal channel' and channel helpers now take only a PerChannel value and return Nothing on failure instead of silently substituting fallback values like 0 or False. The result is a cleaner type signature and a more explicit distinction between “real value” and “couldn’t read the channel,” especially for volume, dB, and switch lookups. In practice, the volume monitor should now behave more predictably in error cases and the code is easier to reason about.

Simplified volume monitor channel helpers to stop masking errors with default values and make the control flow clearer. - zhengqunkoo/xmobar