Well, the ArrowAndroidSamples is a bit outdated, which I'll get to in a sec. So I want to use Tagless"-final" (not sure if that matters in the name or if it's just tagless)
The example uses Dagger which I obv don't want to use. So my interpreter will have Reader<CameraContext, F> where F is going to be an aggregate of related services.
Now, if that makes sense so far, the way I see it the algebra of my Services shouldn't just be an "outline" of functions. Would it make sense to make my algebra abstract classes with some sort of default implementation? I feel like arrow would provide the default implementations in terms of
fun something(Kind<F, A>, A, B) -> Kind<F, B>