What if there was a way to enforce the order of how people can call into your API? Most folks are familiar or have at least heard of the State monad, but here I wills how how an IndexedState is even more powerful and lets you craft APIs with even more compile time safety and constraints.