- moved required keyword handling to a function
- _ is now an implementation detail for the generated code,