Added the Sequence combinator

Also, added type safe wrappers on Maybe and Either. However, in
implementing the Sequence combinator, I have discovered a design flaw
that I need to fix. When the collection of monads passed to Sequence is
empty, I cannot obtain a monad adapter but I need one of these in order
to return the result!