compiler type erease