ir: Add copyTypeSmart ir util