Fix weird ambiguity with function definitions.
Fix ambiguity between field declarations.
Removed TypedefName constructor.
Follow restrictions for keywords.