scalaz.Free and scalaz.Cofree instances

`Free` and `Cofree` are recursive data structure.
I think can't define these instances without using `shapeless.Lazy`