Changed some impls
Created some stub and introspection code to analyze the @
Created a visitor to lookup all TypeDef names