I've been spending time lately to grasp FP concepts and especially the free monad. I think I understand the idea behind free monads quite well, but a question arose.
I've been using Doobie for a bit which is built on top of free monads. For me, it would make sense to have different algebras combined (with coproducts), including doobie. When testing algebras, people usually create a test interpreter. But for existing libraries like Doobie (which algebra is kinda large), do I need to create a test interpreter on my own? For me, at this point using the free monad gives a lot of boilerplate code. Also, if the approach is wrong, I would love to get some feedback.
A more frequently asked question maybe, but what are the use cases you tend to use them for? Do you use them for structuring nearly every FP application or are there only particular use cases where the free monad shines.
Thanks in advance!