Haskeline supports all the following features completely.
A simple identity function, used to restrict types if the type inferred by GHC is too general. You could achieve the same effect with a type signature, but this is slightly less typing.
Modifies a wizard so that it will run with different Haskeline
Settings to the top level input monad.