Improving type system