compiler cleanup
Inferrer refactoring