Describir: First class syntax, semantics and their composition