Some AST name refactors: Ident -> Path, IdentUnion -> Union, FunTypeSpec -> Fun, Arg#type_restriction -> Arg#restriction
Some codegen refactors