A "wizard" can be defined as a program that
prompts a user "up front" for multiple inputs
and then performs several actions after all
input has been collected.
The idea is from Gabriel Gonzalez's blog post,
http:/www.haskellforall.com201802the-wizard-monoid.html.
This library provides a WizardT monad
transformer, that allows users to define
wizards over different monads, which becomes
similarly useful when that monad's Monoid
instance lifts the behaviour of the underlying
Monoid into its own.