remove non-flat syntax
renamings
more refactoring
renamed Prog -> Exp