Fun times with monads.