Describir: Purely Functional Structured Programming