This pull request implements the indexed multi-continuation monad transformer IndexedContsT, as well as providing type synonyms for common specializations.
Unfortunately, I was unable to provide a MonadTrans instance and still maintain variance in the type parameters, and a Hoist instance is completely out of the question. liftM is, at least, implemented with the necessary additional variance annotations in IndexedContsTFunctions.
This is a redo of #302.
Add safe print functions to effect
Merged in fa1f799.