[ alleluia ] Rank 2 polymorphism saves the day

* It turns out that the fact that Rank 2 polymorphism *guarantees*
  that there is only ever one CRec constructor gives us the ability
  to write a cmap which does not unfold the Cyclic structure!

  How does that work? Well, unfold a first CRec and stop at the next
  one you see: it is precisely the one you introduce by substitution.
  Now return the dummy variable you collected earlier.