enhancements to type checking