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