New codegen and construction syntax