Why does cats returns `Id[T]` in the evaluation of a Reader?

Viewed 170

I've used Kleisli before and, when you evaluate the computation passing the dependency to it the monad returns the value that I need. Now I'm using Reader and I see that when I run the program the evaluation is returned wrapped in an Id.

Why?

Also, exploring the different options that Id has I encountered with init function that unwraps the computed value. Is it good to use that "combinator"? The only thing that I need from the Reader is the produced value without any wrapper.

Thanks

1 Answers
Related