Add shift3: the most impure shift of all. Update docs.

Signed-off-by: Austin Seipp <mad.one@gmail.com>
Thanks, Leon!

Signed-off-by: Austin Seipp <mad.one@gmail.com>
Fix haddock quote-bustage.

Signed-off-by: Austin Seipp <mad.one@gmail.com>
Give shift3 a Rank-2 type, ensuring it is answer-type polymorphic.

Signed-off-by: Austin Seipp <mad.one@gmail.com>
Describe the family of shift operators.

Signed-off-by: Austin Seipp <mad.one@gmail.com>
Fix ordering in Indexed documentation.

Signed-off-by: Austin Seipp <mad.one@gmail.com>
Overhaul the Monad' typeclass a bit.

This makes Monad' match the ordinary Monad class almost exactly, making
it much more consistent. This is an API change but in practice breaks
nothing.

We also offer several new operators for indexed monad composition. This
also does some rudimentary documentation cleanup.

Signed-off-by: Austin Seipp <mad.one@gmail.com>