Refactor compile to Compiler object
Change last same references to haplo