None of these operations had unit tests, and were commented in the port to Cats because they used scalaz.Free. This brings them back, backed by an alias to Cofree[Stream, A]. The most obvious difference is that the root label of a Tree is lazy, but the head of a Cofree is not. Unsure whether that will eat us.
It would be far better if we had unit tests for these, but I don't know all the use cases. If someone can supply those, I could be shamed into adding tests.
An alternate approach would be to port scalaz.Tree to cats inside this project.
None of these operations had unit tests, and were commented in the port to Cats because they used
scalaz.Free
. This brings them back, backed by an alias toCofree[Stream, A]
. The most obvious difference is that the root label of aTree
is lazy, but the head of aCofree
is not. Unsure whether that will eat us.It would be far better if we had unit tests for these, but I don't know all the use cases. If someone can supply those, I could be shamed into adding tests.
An alternate approach would be to port
scalaz.Tree
to cats inside this project.