Dropped IterF in exchange for Either
Rename iter to fold so we can repurpose iter later
Use a newtype, not data
Iter, iter, runIter
This _is_ a true monad transformer, actually
rename coiterT to unfold for consistency
Coiter, coiter, runCoiter
inlined Coiter methods
switched to standalone deriving for a couple of instances -- its cheaper
Added mtl-style Free, free, runFree combinators
inlining for FreeF
update copyright date