as mentioned in #406 (comment) I believe the Update module needs a refactoring.
Especially the function runUpdate' seems overly complex.
I'm sure there's a better abstraction to be found, though I don't know what it is yet.
maybe System.IO.Lazy could play a role?
@nmattia what was the original reason to make Update an arrow instead of a monad?
I'm new to arrows so I don't yet fully grasp the advantages it has over monads in the implementation.
as mentioned in #406 (comment) I believe the Update module needs a refactoring.
Especially the function
runUpdate'seems overly complex.I'm sure there's a better abstraction to be found, though I don't know what it is yet.
maybe
System.IO.Lazycould play a role?@nmattia what was the original reason to make
Updatean arrow instead of a monad?I'm new to arrows so I don't yet fully grasp the advantages it has over monads in the implementation.