Creates a new StateGen that applies the function to the result of this StateGen and flattens the result
Creates a new StateGen that applies the function to the result of this StateGen
Returns the same StateGen but with a wider result type parameter
Wraps a function that takes a function an produces a random state transition and value
the type of the initial and resulting state of this random computation
the random context that wraps the return value of this function
the type of the value returned by this function