round 1: no variance on OptionT
round 2: no variance on EitherT
round 3: no variance in Lazy*T
round 4: no variance in ListT
round 5: no variance in IndexedContsT
round 6: OH GOD SO MANY INTERTWINED TRANSFORMERS
round 7: Kleisli, and while I'm at it, nuke UnapplyCo
round 8: Free, Zap, Co{density,free,product} and IO

Note: IO is not covariant anymore. It could still be, but that would
introduce quite some additional type parameters on its methods.
interlude: minor fixes in core
round 9: no variance in StreamT
round 10: clean variance annotations in effect, example, typelevel
round 11: clean variance annotations in tests
Merge pull request #383 from larsrh/topic/variance

Smash variance annotations
Port MaybeApply from haskell semigroupoids.
OnePlus, the product of A and F[A], with some instances.
Isomorphism & some tests for OnePlus.
OnePlus traversal tests.
avoid SOE in tests

cf b41e157b0eced814c9c6cc3373eca5dfd7343385
Merge pull request #348
Rework Endmorphic without replacing the existing Endo

Thanks to Stephen Compall who submitted patches to the original branch.