Many times do blocks are passed into functions so the monad type can be looked up from the function definition. flip runStateT s $ do ... To find the type of this do block I don't have to scan it I just have to look up…
If anyone is interested in looking at the benchmarks or implementation: https://github.com/cw75/tiered-storage is from the main developer and it looks similar to Anna.
Many times do blocks are passed into functions so the monad type can be looked up from the function definition. flip runStateT s $ do ... To find the type of this do block I don't have to scan it I just have to look up…
If anyone is interested in looking at the benchmarks or implementation: https://github.com/cw75/tiered-storage is from the main developer and it looks similar to Anna.