Introducing types to allow flowing compilation settings to the application

IProject?