improved implicit decl rules