handle :: Options -> IO ()
handle options = runWorkerT $ (logOptions options >> worker) >-> quietFilter options >-> verboseFilter options
    where
        worker = case argCommand options of
            Build options           -> Build.handle options
            Check options           -> Check.handle options
            Compile options         -> Compile.handle options
            Dependencies options    -> Dependencies.handle options
            Print options           -> Print.handle options
handle :: Options -> IO ()
handle options = runWorkerT $ (logOptions options >> worker) >-> quietFilter options >-> verboseFilter options
    where
        worker = case argCommand options of
            Build options           -> Build.handle options
            Check options           -> Check.handle options
            Compile options         -> Compile.handle options
            Dependencies options    -> Dependencies.handle options
            Print options           -> Print.handle options
handle options = runWorkerT $ (logOptions options >> worker) >-> quietFilter options >-> verboseFilter options
    where
        worker = case argCommand options of
            Build options           -> Build.handle options
            Check options           -> Check.handle options
            Compile options         -> Compile.handle options
            Dependencies options    -> Dependencies.handle options
            Print options           -> Print.handle options