Describir: Functional programming with hope