[ feature ] Building up on yesterday night's idea

* Using the idea introduced yesterday night, we can define a fully
  general fold and derive two simpler ones (foldRec and cfold').

* We provide three use cases: cfold is used to implement a fully
  general cmap; cfoldRec lets us define a Show instance producing
  *finite strings* and toStream unfolds the cycle using cfold'.