This document describes an embedded domain-specific language (eDSL) for defining transition graphs using Free monads and existential types in PureScript. It discusses the design of the eDSL, provides code samples for defining graphs and transitions, and describes the implementation which uses existential types to encapsulate the graph definition. A sample application builds a text adventure game using the graph eDSL.