let constructor is legacy (do not use in tree!) since the tableGen backend emits most of the glue logic to build a pass.