Inject the simple language to the rich to avoid code duplication
Hlint pass
Translate to a first-order language and deappify in it