IR visitor interface and classes added