eliminate and simplify types