Due to the concerns raised in #86, I doubt this idea is desired. Still, I thought I would bring it up as a possible discussion. The idea is to convert this codebase from using a variant of the `StateT` monad (i.e. `Middleware`) into using the indexed capability design pattern (see [Exploration - Indexed Capability Design Pattern with Indexed Monad Transformers](https://discourse.purescript.org/t/exploration-indexed-capability-design-pattern-with-indexed-monad-transformers/956) for context). In my [fork of this repo](https://github.com/JordanMartinez/hyper/tree/indexedCapabilityPattern), I'm exploring what this would ultimately look like if the approach was taken, and what are its pain points would be.