A better type system