Text this: Optimizing Return Distributions with Distributional Dynamic Programming