> For the complete documentation index, see [llms.txt](https://swlaschin.gitbook.io/fsharpforfunandprofit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://swlaschin.gitbook.io/fsharpforfunandprofit/functional-patterns/handling-state.md).

# The "Handling State" Series

In this series of posts, I'll look at how you can thread state through a series of pure functions in a convenient way.

To start with, I'll tell the story of Dr Frankenfunctor and the Monadster, and how the Doctor needed a way to create "recipes" that were activated when lightning struck.

The Doctor then devised ways to work with these recipes using functions such as `map`, `bind` and `apply`.

In the final post, we'll see how we can use a computation expression to make the coding cleaner, and how these techniques can be generalized into the so-called "state monad".

*Warning! These posts contains gruesome topics, strained analogies, discussion of monads*

* [Dr Frankenfunctor and the Monadster](/fsharpforfunandprofit/functional-patterns/handling-state/monadster.md). Or, how a 19th century scientist nearly invented the state monad.
* [Completing the body of the Monadster](/fsharpforfunandprofit/functional-patterns/handling-state/monadster-2.md). Dr Frankenfunctor and the Monadster, part 2.
* [Refactoring the Monadster](/fsharpforfunandprofit/functional-patterns/handling-state/monadster-3.md). Dr Frankenfunctor and the Monadster, part 3.
