Use hackage
Refactor this turd and write a translation repl