Adding State and Output monads, and output to all programs