let Verbosity = ./Type

in  -- Version of `merge` specialised to `Verbosity`.  This way we don't need
    -- to pass that many parameters.
    --
    -- ```
    -- fold
    --   : ∀(r : Type)
    --   → ∀ (handler
    --         : { Silent : r
    --           , Normal : r
    --           , Verbose : r
    --           , Annoying : r
    --           }
    --       )
    --   → ∀(verbosity : Verbosity)
    --   → r
    -- ```
      λ(r : Type)
    → λ(handler
          : { Silent : r
            , Normal : r
            , Verbose : r
            , Annoying : r
            }
        )
    → λ(verbosity : Verbosity)
    → merge handler verbosity

-- vim: ft=dhall