Right now we have type App m = ..., and this m leaks everywhere even though we're never using it. Instead, we should require the run function to take a natural transformation forall a. m a ~> IO a and apply that in the one place we are running that application. Change all the types needed so that this conduit runs in IO to prevent needless abstraction but also it will probably be faster.
Right now we have
type App m = ...
, and thism
leaks everywhere even though we're never using it. Instead, we should require therun
function to take a natural transformationforall a. m a ~> IO a
and apply that in the one place we are running that application. Change all the types needed so that this conduit runs inIO
to prevent needless abstraction but also it will probably be faster.