update gitignore
Add tests for AST inferencing
infer only when possible
Make code more readable